infovos Flashcards
(28 cards)
Általában milyen bonyolultságú egy BT algoritmus?
Exponenciális
Faktoriális
Mit jelent a belső feltétel a BT algoritmusok segítségével megoldott feladatok esetén?
- A BT algoritmusok esetében a belső feltétel segítségével döntsük el hogy az adott eredmény/részeredmény megfelel e az adott keresett eredménynek, ha nem felel meg akkor új elemet kell választani
Mikor ajánlott a divide et impera módszer?
– a feladatot fel lehet bontani egymástól független
részfeladatokra,
– amelyeket az eredeti feladathoz hasonlóan oldunk meg, de
kisebb méretű adathalmaz esetében.
Mit értünk AAT esetén az implementáció függetlensége alatt?
Az implementáció függetlensége azt jelenti, hogy egy adatszerkezet használata során a felhasználónak (programozónak) nem kell ismernie annak belső megvalósítását, csak az általa biztosított funkcionalitást (absztrakt viselkedést). Az implementáció rejtve marad a felhasználó előtt, így az adatszerkezet különböző megvalósításokkal helyettesíthető anélkül, hogy a felhasználó kódja módosításra szorulna.
Mit értünk előfeltétel alatt?
Az előfeltétel egy olyan követelmény vagy feltétel, amelynek teljesülnie kell egy adott művelet vagy algoritmus elindítása előtt ahhoz, hogy helyesen működjön, és garantálható legyen a várt eredmény.
Mit értünk utófeltétel alatt?
Utófeltétel egy program vagy függvény végrehajtása után garantáltan teljesülő állapotot vagy feltételt jelent.
Ez azt írja le, hogy a program vagy függvény futása után milyen eredményeket várhatunk el, illetve milyen állapotok lesznek érvényesek.
Milyen műveletekkel szúrna be egy elemet a q pointer által mutatott elem után egy kétszeresen láncolt listába?
1 UjElem ← nodeCreate(adat)
2 q.köv.elozo ← UjElem
3 UjElem.kov ← q.kov
4 UjElem.elozo ← q
5 q.kov ← UjElem
Mi történik, ha egy bináris keresőfát inorder sorrendben járunk be?
Ha egy bináris keresőfát inorder sorrendben járunk be, a kulcsok növekvő (illetve csökkenő) sorrendben követik egymást.
Mi igaz egy bináris keresőfa bármely csomópontjára a bal és a jobb részfáját tekintve?
Egy bináris keresőfa bármely csomópontjára igaz, hogy a bal részfájában csak a saját kulcsértékénél kisebb értékek, jobb részfájában pedig csak nagyobb értékek találhatók.
Igaz-e, hogy egy bináris keresőfában a kulcsok értékei mindig különbözőek?
Egy bináris keresőfában a kulcsok értéke különböző.
Mi a preorder bejárás sorrendje egy bináris fán?
Az aktuális csomópontot járjuk be először, majd a bal részfát, végül a jobb részfát.
(Sorrend: gyökér → bal részfa → jobb részfa)
Ha egy bináris fát preorder sorrendben járunk be, a kulcsok rendezett sorrendben lesznek?
Nem, a preorder bejárás nem garantálja a kulcsok növekvő vagy csökkenő sorrendjét.
Mi a postorder bejárás sorrendje egy bináris fán?
Válasz: Először a bal részfát, majd a jobb részfát, végül az aktuális csomópontot járjuk be.
(Sorrend: bal részfa → jobb részfa → gyökér)
Mik a lépései a divide et impera módszer használatának?
- Az eredeti feladatot felbontjuk egymástól független részfeladatokra: az eredetihez hasonlóak, de kisebb adathalmazra definiáltak.
- A részfeladatokkal hasonlóan járunk el. A felbontást akkor állítjuk le, amikor a feladat megoldása a lehető legegyszerűbb (alapeset).
- Ezt a legegyszerűbb feladatot megoldjuk.
- A részfeladatok eredményeiből rendre felépítjük a következő méretű feladat eredményeit. Az utolsó összerakás az eredeti feladat eredményét adja.
Nevezze meg és adjon saját példát az adattipusok absztrakciójának három szintjére!
Absztrakt szint: Verem fogalma és műveletek (push, pop, peek).
Virtuális szint: A verem megvalósítása tömbbel vagy láncolt listával.
Fizikai szint: A memóriacímek, adatmozgatás és tárolás módja a hardver szinten
Beszúr elem q pointer elé DL lista
1 UjElem ← nodeCreate(adat)
2 q.elozo.köv ← UjElem
3 UjElem.elozo ← q.elozo
4 UjElem.kov ← q
5 q.elozo ← UjElem
Divide et impera bonyolultsága
- nem pontosan meghatározható
Mi a különbség a belső feltétel és a folytatási feltétel között?
- A BT algoritmusok esetében a belső feltétel segítségével döntsük el hogy az adott eredmény/részeredmény megfelel e az adott keresett eredménynek, ha nem felel meg akkor új elemet kell választani
- a folytatási feltétel a belső feltétel igazzá válása után következik, amely segítségével számolunk tovább míg elérjük az eredményt
A verem lehet
- statikus implementált adatszerkezet
- lineáris lista
- félstatikus adatszerkezet
Egyszeresen láncolt lista q pointer által mutatott elem elé
1 UjElem ← nodeCreate(-)
2 UjElem.mezők ← q.mezők
3 q.köv ← UjElem
4 q.adat ← adat
Folytatási feltétel BT
- a folytatási feltétel a belső feltétel igazzá válása után következik, amely segítségével számolunk tovább míg elérjük az eredményt
Mit értünk az AAT esetében a félstatikus tulajdonság alatt?
Például egy verem (stack) adattípus lehet statikus a műveletek szerkezetében (például, hogy “LIFO” elv szerint működik), de dinamikus abban az értelemben, hogy a verem tartalma a futás során változhat.
Mi a bináris fa?
- Egy bináris fa vagy üres vagy tartalmaz egy csomópontot, amelyhez bizonyos típusú információkat rendeltünk, valamint még két komponenst, amelyek szintén a bináris fák (jobb s bal részfa)
A félstatikus adatszerkezetek implementálhatók
dinamikusan és statikusan