Stack (Stack) est une structure de données dernier entré, premier sorti (LIFO)
Queue (Queue) est une structure premier entré, premier sorti (premier entré, premier sorti, FIFO)
La pile est une structure linéaire Par rapport au tableau, les opérations correspondant à la pile sont un sous-ensemble du tableau.
Il ne peut ajouter des éléments qu'à une extrémité et supprimer des éléments d'une extrémité (cette extrémité est appelée le haut de la pile).
La pile est une structure de données largement utilisée. Dans l'utilisation des ordinateurs, les piles sont largement utilisées, comme les analyseurs lexicaux dans les compilateurs, les machines virtuelles Java, les opérations d'annulation (Undo) dans les logiciels et les opérations de retour dans les navigateurs. implémentation des appels de fonction dans le compilateur, etc.
Interface | Description | Complexité |
---|---|---|
void push(E e) | Ajouter des éléments à la pile | O(1) |
Pop l'élément supérieur de la pile | O(1) | Répartir également |
Afficher l'élément supérieur de la pile | O(1) | |
Obtenir le nombre d'éléments dans la pile | O(1) | |
Jugez si la pile est vide | O(1) |
Si vous souhaitez en savoir plus sur l'analyse de la complexité temporelle, veuillez prêter attention à l'article que l'auteur mettra à jour ultérieurement :
Quel problème O(n) explique-t-il ?
stack cette structure de données pour résoudre le problème Non .20 sur LeetCode : Pour les parenthèses valides, voir aussi Décompte quotidien : Parenthèses valides.
QueueLa file d'attente est également une structure de données linéaire Par rapport aux tableaux, les opérations correspondant aux files d'attente sont un sous-ensemble de tableaux. Les éléments ne peuvent être ajoutés que depuis une extrémité (la fin de la file d'attente) et les éléments ne peuvent être supprimés que depuis l'autre extrémité (la tête de la file d'attente). L'application de la file d'attente peut être reflétée dans la playlist sur le lecteur, l'objet de flux de données, la structure de transmission de données asynchrone (fichier IO, communication pipe, socket, etc.). Bien sûr, la file d'attente est la plus intuitive. Mise en œuvre de la file d'attenteDescription | Complexité | |
---|---|---|
enqueue | O(1) shared | |
Dequeue | O(n) | |
Obtenir le premier élément de la file d'attente | O(1) | |
Obtenir le nombre d'éléments de la file d'attente | O( 1) | |
Détermine si la file d'attente est vide | O(1) |
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!