Buborékrendezés: For ciklussal: Hanoi Tornyai: Asszimptótikus fv.ek: Láncolt ábr.: ha p egy mutató típusú változó akkor p^ az általa mutatott adatelem, p^.adat;p^.mut. A semmibe mutató ponter a NIL.Szabad hely a memoban: new(p) erre a p mutat.egy adatelem felszabadítása: dispose(p), p meghat.lan Keresőfa: olyan bináris fa, melyben minden csúcsban az érték >= mint a bal gyerek & < mint a jobb gyerek Tömb: ADS:j szerinti rákövetkezés: Verem: ADT: Empty: V (üres elem létrehozása) / IsEmpty: V L / Push: VxE V (elembetét) / Pop: V VxE Top: V E (felső elem) Aritmetikai ábrázolás: Láncolt ábrázolás:
Helyes zárójelezés: Sor: ADT: Empty: S / IsEmpty:S L / In:SxE S / Out:S SxE / First:S E (első elem lekérdezése) ARITMETIKAI:s sor egy rekordszerkezet,s[1..max] tömb, e є {1,..,max}index ami az elspő elemre mutat,k eleme {0,..,max} változó amely a sor elemszáma. LÁNCOLT:s poi Elsőbbségi prioritásos sor: ADT:Empty: P / IsEmpty:P L / Insert:PxN P / Max:P N / DelMax:P PxN ADS: Első megvalósítás:rendezetlen tömbbe kerülnek az elemek:
Második megvalósítás:rendezett tömbbe kerülnek az elemek A priorításos sor felhasználása rendezésre: Listák: Egyirányú egyszerű lista: ADT: Üres: L (létrehozása) / Üres?: L L / Elsőre: L L (akt.elem-komp első elemre állítása) / Következőre: L L (akt.elem.komp következőre áll) / Érték: L E (érték lekérd.) / Módosít: LxE L (akt.elem ért.módosítása) / Töröl: L L / BeszúrUtán: LxE L (elem beszur az akt.elem után) / BeszúrElsőnek: LxE L / Utolsó?: L l (akt.elem utolso-e) REPREZENTÁCIÓS SZINT: Lista pointere:(l vagy Fej) / aktuális elemre mutató pointer:(akt) / hibasignal:(hiba) 1)Fejelem nélküli lista: akt pointer értéke NIL lesz üres lista esetén
2)Fejelemes lista: mindig létezik egy fejelem,üres lista esetén a fejelem pointere NIL, az akt pointer a fejelemre mutat 3)Rendező lista: Az r pointer előre nyúlva keresi a beszúrandó elemnél nagyobb vagy egyenlő elemet, a ciklus épp azelőtt fog megállni Kétirányú, egyszerű lista: fejelem nélküli: fejelemes: Ciklikus lista: kétirányú fejelemes ciklikus lista Bináris fák: ADT: Üres: B / Üres?: B L / EgyeleműFa: E B / BeszúrBalra: BxB B / BeszúrJobbra: BxB B / Gyökérelem: B E / MódosítGyökér: BxE B (a gyök.elem módosít.) / Balgyerek: B BxB / Jobbgyerek: B BxB / Töröl: B t:bináris fa / Ω: üres fa / bal(t) / jobb(t) / gy(t) gyökérelem
HeapSort(Kupacrendezés): majdnem teljes balra tömörített bináris fa, amelyben minden belső elem nagyobb,vagy egyenlő mint a gyermekei.pl: A HS iteratív változata aritm. Ábr. Esetén MergeSort(összefuttatásos rendezés): MergeSort rekurzív algoritmusa Tömbökre:(balra lent)
QuickSort: Helyrevisz 2 változata: Az A tömb A[u..v] részletében helyére viszi az A[u] elemet. Meghívásakor u<v,ugyanis az u>=v esetben a QuickSort SKIP ága hajtódik végre Keresőfák(=rendezőfák): t bármely x csúcsára és b(x) bmely y csúcsára és j(x) bmely z csú.ra: y<=x<=z, azaz y<x<z. Fontos tulajdonság: inorder bejárással rendezett sorozatot kapunk. Műveletek: Keresés: p:=keres(t,k) {a t keresőfában keresi a k kulcsú elemet(csúcsot); ha ez létezik, akkor p. a címe, egyébként NIL adódik vissza.} Maximum: p:=max(t) {ha t=nil, akkor p=nil)} Minimum: p:=min(t) Következő: r:=következő(t,p) {a t-ben p címen kulcsérték rákövetkezőjének címét adja vissza, illetve NIL-t ha nincs} Előző: p:=előző(t,p) Beszúr: r:=beszúr(t,p) sikeres beszúrás esetén r=p,amugy r=nil Töröl: