Maison  >  Article  >  développement back-end  >  Heap : allocation de mémoire ou structure de données ? Une histoire de deux termes.

Heap : allocation de mémoire ou structure de données ? Une histoire de deux termes.

Barbara Streisand
Barbara Streisandoriginal
2024-11-10 06:25:02317parcourir

Heap: Memory Allocation or Data Structure? A Tale of Two Terms.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn