A Stack yra linijinė duomenų struktūra, kuri atitinka tam tikrą operacijų atlikimo tvarką. Užsakymas gali būti LIFO (paskutinis pirmas) arba FILO (pirmas į paskutinis) . LIFO reiškia, kad elementas, kuris įterpiamas paskutinis, išeina pirmas ir EILUTĖ reiškia, kad elementas, kuris įterpiamas pirmas, išeina paskutinis.

Turinys
Išraiškos įvertinimas ir analizavimas
Giluminė paieška (DFS) Anuliuoti/perdaryti operacijas Naršyklės istorija Funkciniai skambučiai Pagrindinės operacijos dėklo duomenų struktūroje
Monotoninio krūvos įvadas Įdiekite krūvą naudodami atskirai susietą sąrašą Stack pritaikymas, privalumai ir trūkumai Stack diegimas skirtingomis kalbomis
Įdiekite du krūvas masyve
Įdiekite „Stack“ naudodami eiles Kaip efektyviai įdiegti k stekų viename masyve? Sukurkite krūvą, palaikantį getMin() per O(1) laiką ir O(1) papildomą erdvę Įdiekite krūvą naudodami vieną eilę Kaip įdiegti krūvą naudojant prioritetinę eilę arba krūvą? Įdiekite Stack and Queue naudodami Deque Priešdėlis į Infix konversiją
Priešdėlis į Postfix konversiją Postfix konvertavimas į priešdėlį Postfix į Infix Konvertuoti infiksą į priešdėlio žymėjimą Patikrinkite, ar išraiškoje nėra subalansuotų skliaustų Aritmetinės išraiškos įvertinimas Postfix išraiškos įvertinimas Apverskite krūvą naudodami rekursiją Apverskite atskirus žodžius Apverskite eilutę naudodami krūvą Eilės keitimas atgal Atsargų kiekio problema
Kitas Didysis elementas Kitas didesnio dažnio elementas Didžiausia kairėje ir dešinėje esančių indeksų sandauga Iteratyvus Hanojaus bokštas Rūšiuokite krūvą naudodami laikiną krūvą Apverskite krūvą nenaudodami papildomos vietos O(n) Ištrinti vidurinį krūvos elementą Patikrinkite, ar eilę galima surūšiuoti į kitą eilę naudojant krūvą Patikrinkite, ar masyvą galima rūšiuoti Iteratyvus postorder Traversal | 1 rinkinys (naudojant du krūvas) Didžiausias stačiakampis plotas histogramoje | 2 rinkinys Raskite maksimalų minimumą kiekvienam lango dydžiui tam tikrame masyve Raskite baigiamojo skliausto indeksą duotam pradiniam skliaustui išraiškoje Raskite maksimalų skirtumą tarp artimiausių kairiųjų ir dešiniųjų mažesnių elementų Ištrinkite tuos pačius žodžius iš eilės Patikrinkite veidrodį n-ame medyje Apverskite skaičių naudodami krūvą Pirmųjų K eilės elementų apvertimas Spausdinkite kitą didesnį Q užklausų skaičių
Iteratyvus postorder Traversal | 2 rinkinys (naudojant vieną krūvą) Spausdinkite duoto dvejetainio medžio mazgo protėvius be rekursijos Ilgiausios galiojančios poeilutės ilgis Išraiškoje yra perteklinių skliaustų, ar ne Raskite, ar išraiška turi pasikartojančius skliaustus, ar ne Raskite masyve kitą mažesnį ar kitą didesnį Iteracinis metodas, leidžiantis rasti tam tikro dvejetainio medžio protėvius Stack permutacijos (patikrinkite, ar masyvas yra kito dėklo permutacija) Spagečių krūva Pašalinkite skliaustus iš algebrinės eilutės, kurioje yra + ir – operatoriai Ilgiausių teisingų skliaustų posekos užklausų diapazonas Greitos nuorodos :
Rekomenduojamas:
- Sužinokite duomenų struktūrą ir algoritmus | DSA mokymo programa
- Stack į Scala