Maison > Article > développement back-end > Heap : allocation de mémoire ou structure de données ? Une histoire de deux termes.
Tas : un terme à double tranchant en informatique
Le terme « tas » apparaît deux fois en informatique, représentant des concepts distincts qui peuvent en laisse certains perplexes. Un concept fait référence au tas d'exécution utilisé pour l'allocation dynamique de mémoire dans les langages de style C, tandis que l'autre désigne une structure de données spécifique utilisée pour les files d'attente prioritaires. Alors, pourquoi ce chevauchement de terminologie ?
Le tas d'exécution
Selon Donald Knuth dans « The Art of Computer Programming », le terme « tas » a été appliqué pour la première fois au tas d'exécution par divers auteurs vers 1975. Cet usage provient de l'analogie avec un tas physique, une pile d'éléments qui peuvent être ajoutés ou supprimés à tout moment. Dans le contexte de la gestion de la mémoire, le tas d'exécution agit comme un pool de mémoire disponible où se produit l'allocation dynamique de mémoire.
Tas de file d'attente prioritaires
Séparément, le terme « tas " a été utilisé pour décrire une structure de données qui organise les éléments en fonction d'une clé dans un arbre binaire partiellement ordonné. Cette structure de données est particulièrement utile pour implémenter des files d'attente prioritaires, où l'élément de priorité la plus élevée (ou la plus basse) peut être récupéré en temps constant.
Y a-t-il une connexion ?
Malgré la nomenclature partagée, il n'existe pas de relation directe entre le tas d'exécution et les tas de file d'attente prioritaire. Le premier est un concept lié à l'allocation et à la gestion de la mémoire, tandis que le second est une structure de données avec une structure et des propriétés spécifiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!