Il s'agit d'une question d'affectation à laquelle j'ai des difficultés à formuler une réponse. "Supposons qu'un arbre puisse avoir jusqu'à k enfants par nœud, soit v le nombre moyen d'enfants par nœud, pour quelle (s) valeur (s) de v est-il plus efficace (en termes d'espace utilisé) de stocker le les nœuds enfants dans une liste liée par rapport au stockage dans un tableau? Pourquoi? "Arbres: Listes liées vs tableaux (efficacité)
Je crois que je peux répondre au "pourquoi?" plus ou moins en anglais clair - il sera plus efficace d'utiliser la liste chaînée car plutôt que d'avoir un tas de nœuds vides (ie des index vides dans le tableau si votre moyenne est inférieure au maximum) pour un noeud dans une liste chaînée lorsque vous remplissez une valeur. Par conséquent, si vous avez une moyenne de 6 enfants lorsque votre maximum est de 200, le tableau créera de l'espace pour les 200 enfants de chaque nœud lors de la création de l'arborescence, mais la liste liée allouera uniquement de l'espace pour le nœuds au besoin. Ainsi, avec la liste chaînée, l'espace utilisé sera approximativement (?) La moyenne; avec le tableau, espacé utilisé sera le max.
... Je ne vois pas quand il serait plus efficace d'utiliser la baie. Est-ce une question piège? Est-ce que je dois prendre en compte le fait que le tableau doit avoir une limite sur le nombre total de nœuds quand il est créé?
Je ne suis pas sûr de ce que vous entendez par le surcoût d'une liste chaînée. Parlez-vous de la mémoire nécessaire pour les références? –
@dc: Eh bien, comment les listes liées sont-elles implémentées? Combien de mémoire est nécessaire? –