Quel est le lien entre le tas utilisé dans l'allocation de mémoire dynamique et la structure de données? [dupliquer]

StackOverflow https://stackoverflow.com/questions/2410683

Question

  

Possible en double:    Pourquoi deux concepts différents à la fois appelé « tas »?

J'ai googlé autour, mais ne peut pas trouver la réponse à cette question; quel est le lien entre le tas utilisé dans l'allocation de mémoire dynamique et la structure de données? Est-mémoire organisée sur le tas d'une manière similaire la la structure de données en tas? Si oui, cela semble très étrange, car aller chercher la mémoire doit être accès aléatoire AFAIK (i.e., O (1)), mais la recherche d'un élément d'un tas ne se fait pas en temps constant.

Alors, est-ce juste un sens surchargé de tas, pour ainsi dire, ou est-il une sorte de connexion?

Était-ce utile?

La solution

Heap est synonyme de ce que la norme appelle sans magasin. Contrairement aux piles, qui est utilisé pour des appels de fonction, et le stockage d'objet fonction locale, des tas croissent dans la direction opposée (en haut vers le bas) sur de nombreuses mises en œuvre (par opposition à des piles - qui croissent de bas en haut). Bien sûr, aucun de ceux-ci sont requis par la norme.

La structure de données en tas, d'autre part est tout à fait différent - il est une structure arborescente spécialisée avec certaines propriétés.

Il est possible certaines implémentations utilisent la structure de données en tas pour la gestion sans magasin, d'où le nom a été dérivé. (Voir allocation de mémoire ami .)

Autres conseils

Non, le tas de programme est différent de la structure de données en tas. En d'autres termes, aucune relation. Cette question traite le tas de programme en détail.

Il n'y a pas de relation, mais je dois admettre le nom peut être source de confusion. Le tas dans la mémoire est un tableau que le système d'exploitation alloue aux programmes. Un tas est mis en œuvre par des programmes de recherche rapide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top