logo

Structura de date a stivei

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