logo

Pinotietorakenne

A Pino on lineaarinen tietorakenne, joka noudattaa tiettyä järjestystä, jossa toiminnot suoritetaan. Järjestys voi olla LIFO (viimeinen sisään ensimmäinen ulos) tai FILO (First In Last Out) . LIFO tarkoittaa, että elementti, joka lisätään viimeisenä, tulee ulos ensin ja RIVI tarkoittaa, että ensimmäisenä lisätty elementti tulee ulos viimeisenä.

Sisällysluettelo



Lausekkeen arviointi ja jäsentäminen
  • Depth-First Search (DFS)
  • Kumoa/Toista toiminnot
  • Selaimen historia
  • Toimintokutsut
  • Pinotietorakenteen perustoiminnot
  • Monotonisen pinon esittely
  • Toteuta pino käyttämällä erikseen linkitettyä luetteloa
  • Pinon sovellukset, edut ja haitat
  • Stackin toteutukset eri kielillä

    Toteuta kaksi pinoa taulukossa
  • Toteuta pino jonojen avulla
  • Kuinka tehokkaasti toteuttaa k pinoa yhdessä taulukossa?
  • Suunnittele pino, joka tukee getMin()-funktiota O(1)-ajassa ja O(1)-lisätilassa
  • Toteuta pino käyttämällä yhtä jonoa
  • Kuinka ottaa pino käyttöön prioriteettijonon tai kasan avulla?
  • Toteuta Stack and Queue käyttämällä Deque-toimintoa
  • Infix-muunnoksen etuliite
  • Etuliite Postfix-muunnokseen
  • Jälkiliitteen muuntaminen etuliitteeksi
  • Postfixista Infixiin
  • Muunna Infix etuliitemerkinnäksi
  • Tarkista, onko lausekkeessa tasapainotettuja sulkeita
  • Aritmeettisen lausekkeen arviointi
  • Postfix-ilmaisun arviointi
  • Pinon kääntäminen käänteiseksi käyttämällä rekursiota
  • Käänne yksittäiset sanat
  • Kääntele merkkijono pinon avulla
  • Jonon kääntäminen
  • Varastotarpeen ongelma
  • Seuraava suurempi elementti
  • Seuraava suurempi taajuuselementti
  • Seuraavaksi suuremman vasemmalla ja oikealla olevien indeksien enimmäistulo
  • Iteratiivinen Hanoin torni
  • Lajittele pino väliaikaisen pinon avulla
  • Kääntää pinoa ilman ylimääräistä tilaa O(n)
  • Poista pinon keskimmäinen elementti
  • Tarkista, voidaanko jono lajitella toiseen jonoon pinon avulla
  • Tarkista, onko taulukko pinolajiteltava
  • Iteratiivinen postorder Traversal | Sarja 1 (käyttäen kahta pinoa)
  • Suurin suorakaiteen muotoinen alue histogrammissa | Sarja 2
  • Etsi maksimi minimi jokaiselle ikkunakoolle tietyssä taulukossa
  • Etsi lauseen tietyn aloitussulun sulkevan hakasulkeen indeksi
  • Etsi suurin ero lähimpien vasemman ja oikeanpuoleisten pienempien elementtien välillä
  • Poista peräkkäiset samat sanat peräkkäin
  • Tarkista peili n-aarisessa puussa
  • Käänteinen numero käyttämällä pinoa
  • Kääntää jonon ensimmäisen K elementin
  • Tulosta seuraava suurempi määrä Q-kyselyjä
  • Iteratiivinen postorder Traversal | Sarja 2 (Yhtä pinoa käyttäen)
  • Tulosta tietyn binääripuusolmun esi-isät ilman rekursiota
  • Pisimmän kelvollisen alimerkkijonon pituus
  • Lauseke sisältää redundantin hakasulkeen vai ei
  • Selvitä, onko lausekkeessa kaksoissulut vai ei
  • Etsi taulukosta seuraava pienempi tai seuraava suurempi
  • Iteratiivinen menetelmä tietyn binääripuun esivanhempien löytämiseksi
  • Pinopermutaatiot (Tarkista, onko taulukko toisen pinopermutaatio)
  • Spagettipino
  • Poista hakasulkeet algebrallisesta merkkijonosta, joka sisältää operaattorit + ja –
  • Aluekyselyt pisimmän oikean hakasulkeen alasekvenssille
  • Pikalinkit:

    Suositus:

    • Opi tietorakenne ja algoritmit | DSA opetusohjelma
    • Pinoa Scalassa