A Grămadă este o structură de date liniară care urmează o anumită ordine în care sunt efectuate operațiunile. Ordinul poate fi LIFO (Ultimul intrat, primul ieşit) sau FILO (primul intrat, ultimul ieşit) . LIFO implică faptul că elementul care este introdus ultimul, iese primul și RÂND implică faptul că elementul care este introdus primul, iese ultimul.

Cuprins
Evaluarea și analizarea expresiilor
Căutare în profunzime (DFS) Anulați/Refaceți operațiuni Istoricul browserului Apeluri de funcții Operații de bază în structura de date a stivei
Introducere în Monotonic Stack Implementați o stivă folosind o listă cu legături unice Aplicații, avantaje și dezavantaje ale stivei Implementări de Stack în diferite limbi
Implementați două stive într-o matrice
Implementați Stiva folosind Cozi Cum se implementează eficient k stive într-o singură matrice? Proiectați o stivă care acceptă getMin() în timp O(1) și spațiu suplimentar O(1). Implementați o stivă folosind o singură coadă Cum se implementează stiva folosind coada prioritară sau heap? Implementați Stack și Queue folosind Deque Prefix la conversie infix
Prefix la conversia postfix Conversie Postfix în Prefix Postfix la Infix Convertiți infix în notație de prefix Verificați dacă există paranteze echilibrate într-o expresie Evaluarea expresiei aritmetice Evaluarea expresiei Postfix Inversați o stivă folosind recursiunea Inversați cuvintele individuale Întoarceți un șir folosind stiva Inversarea unei cozi Problema duratei stocurilor
Următorul element mai mare Următorul element de frecvență mai mare Produsul maxim al indicilor următoarei mai mari din stânga și dreapta Turnul iterativ din Hanoi Sortați o stivă folosind o stivă temporară Întoarceți o stivă fără a utiliza spațiu suplimentar în O(n) Șterge elementul din mijloc al unei stive Verificați dacă o coadă poate fi sortată într-o altă coadă folosind o stivă Verificați dacă o matrice poate fi sortată în stiva Traversare iterativă a postorderului | Setul 1 (folosind două stive) Cea mai mare zonă dreptunghiulară dintr-o histogramă | Setul 2 Găsiți maximum și minim pentru fiecare dimensiune de fereastră dintr-o matrice dată Găsiți indicele parantezei de închidere pentru o anumită paranteză de deschidere într-o expresie Găsiți diferența maximă între cele mai apropiate elemente mai mici din stânga și din dreapta Ștergeți aceleași cuvinte consecutive într-o secvență Verificați oglinda în arborele n-ary Inversați un număr folosind stiva Inversarea primelor K elemente ale unei cozi Tipăriți următorul număr mai mare de interogări Q
Traversare iterativă a postorderului | Setul 2 (folosind o singură stivă) Tipăriți strămoșii unui nod de arbore binar dat fără recursivitate Lungimea celui mai lung subșir valid Expresia conține paranteze redundante sau nu Aflați dacă o expresie are paranteze duplicate sau nu Găsiți următorul Mai mic din următorul Mai mare într-o matrice Metodă iterativă pentru a găsi strămoșii unui arbore binar dat Stack Permutations (Verificați dacă o matrice este permutarea stivă a altora) Stiva de spaghete Eliminați parantezele dintr-un șir algebric care conține operatori + și – Interogări de interval pentru cea mai lungă subsecvență de paranteză corectă Link-uri rapide:
Recomandat:
- Aflați structura datelor și algoritmi | Tutorial DSA
- Stack in Scala