Pile entre pile et tas

Anonim

Stack vs Heap

Stack est une liste ordonnée dans laquelle l'insertion et la suppression des éléments de la liste peuvent être effectuées uniquement à une extrémité appelée Haut. Pour cette raison, la pile est considérée comme une structure de données Last In First Out (LIFO). Heap est une structure de données spéciale basée sur des arbres et qui satisfait une propriété spéciale appelée la propriété heap. En outre, un tas est un arbre complet, ce qui signifie qu'il n'y a pas de trous entre les feuilles de l'arbre. e. dans un arbre complet, chaque niveau est rempli avant d'ajouter un nouveau niveau à l'arbre et les noeuds d'un niveau donné sont remplis de gauche à droite.

Qu'est-ce que Stack?

Comme mentionné précédemment, la pile est une structure de données dans laquelle les éléments sont ajoutés et supprimés d'une seule extrémité appelée le sommet. Les piles ne permettent que deux opérations fondamentales appelées push et pop. L'opération push ajoute un nouvel élément au sommet de la pile. L'opération pop supprime un élément du haut de la pile. Si la pile est déjà pleine, une opération push est considérée comme un débordement de pile. Si une opération pop est effectuée sur une pile déjà vide, elle est considérée comme un dépassement de la pile. En raison du petit nombre d'opérations pouvant être effectuées sur une pile, il est considéré comme une structure de données restreinte. De plus, selon la façon dont les opérations push et pop sont définies, il est clair que les éléments ajoutés en dernier à la pile sortent de la pile en premier. Par conséquent, la pile est considérée comme une structure de données LIFO.

Qu'est-ce que Heap?

Comme mentionné précédemment, heap est un arbre complet qui satisfait la propriété du tas. La propriété Heap indique que si y est un nœud enfant de x, la valeur stockée dans le nœud x doit être supérieure ou égale à la valeur stockée dans le nœud y (c'est-à-dire la valeur (x) ≥ valeur (y)). Cette propriété implique que le nœud avec la plus grande valeur sera toujours placé à la racine. Un tas construit en utilisant cette propriété est appelé un tas max. Il y a une autre variation de la propriété du tas qui indique l'inverse de ceci. (c'est-à-dire la valeur (x) ≤ la valeur (y)). Cela implique que le nœud avec la plus petite valeur serait toujours placé à la racine, ainsi appelé un min-tas. Il y a un large éventail d'opérations effectuées sur des tas tels que trouver le minimum (en min-tas) ou le maximum (en max-tas), en supprimant le minimum (en min-tas) ou le maximum (en max-tas), en augmentant -heaps) ou décroissante (en min-tas), etc.

Quelle est la différence entre Stack et Heap?

La principale différence entre les piles et les tas est que, tandis que la pile est une structure de données linéaire, le tas est une structure de données non linéaire. La pile est une liste ordonnée qui suit la propriété LIFO, tandis que le tas est un arbre complet qui suit la propriété du tas.En outre, la pile est une structure de données restreinte qui ne prend en charge qu'un nombre limité d'opérations en tant que push et pop, alors que heap prend en charge un large éventail d'opérations telles que la recherche et la suppression du minimum ou du maximum, l'augmentation ou la diminution de la clé.