előadás №11
hierarchikus listája
Tulajdonképpen ez a módja mutatja grafikonok csak a belső végrehajtását a szomszédsági lista. lineáris lista tartalmazza a számok a „kezdeti csúcs”, és a többi - szoba szomszédos csúcsot, vagy mutatókat ezek csúcsot. Példaként (lásd. Ábra. 11.11) adunk egy hierarchikus listát. grafikonok az adott. ábrán látható. 11.6.
Ábra. 11.11. Példa hierarchikus listában
írja uk_versh = ^ Vershina;
uk_duga = ^ Duga;
Vershina = rekord
számát. integer;
sled_vershina. uk_versh;
spisok_dug. uk_duga
végén;
Duga = rekord
konec_dugi. uk_versh;
sled_duga. uk_duga;
végén;
A nyilvánvaló előnye, ez a módszer a képviselő grafikonok a gazdaságos használata a memória. És még egy kis adat redundancia, hogy melyiknek kell igénybe abban az esetben, irányítatlan gráf. kérve minden éle, mint a két ív. kompenzálja a rugalmasságot, a teljes szerkezet, ami különösen hasznos, ha a szükség gyakori fejleményei során a program.
Ha a fenti leírás a adattípusok hozzá egy mezőt, ami tartsa a súlyát csúcsok és az élek. Ugyanígy lehetőség van állítva, és a súlyozott grafikonok (digraphs).
Tree - ez egy speciális esete a grafikonon. A legelterjedtebb a programozás során.
alapvető meghatározások
Van egy csomó fát ekvivalens definíciók. ez csak néhány közülük.
- Tree - összefüggő gráf nélkül ciklusokat.
- Tree - összefüggő gráf. ahol amikor n csúcsú mindig pontosan N-1 borda.
- Fa - egy grafikon. bármely két csúcs pontosan egy út.
Hasonlóan definiáljuk orientált fa - mint a digráf. ahol bármelyik két csomópont között, nincs több mint egy út.
Táblázat 11.4. Példák a fák
Ábra. 11.12. Root magasságú fa 3
Megvizsgáljuk, és csak egy bizonyos esetben orientált fák - gyökeres fák (lásd Figure 11.12 ..).
Gyökeres fa - ez egy irányított fa. amelyben az első három típus különböztethető meg: root. levelek (a másik neve: terminál csomópontok), és a többi felső (nem-terminális); És két kötelező feltételeket kell teljesítenie:
- levél nem jön ki, nincs ív; másik csúcs is hagyhatja ívek száma;
- a gyökér nem határoz meg egy ív; az összes többi csúcs jön pontosan egy ív.
Hagyományosan, a matematika és a tudományok kapcsolatos (többek között az elméleti programozás) fák „nőnek” fejjel lefelé: ez történik csupán az egyszerűség kedvéért kiterjesztés levelek, ha szükséges. Így a rajzokon gyökeret a legfelső csúcsra. és a levelek - a legtöbb alján.
A őse a felső v - a csúcsra. ahonnan jön az ív. befutó tetején a v. A leszármazottja v csúcs - a csúcsra. ami jön egy ív. áradó v csúcs. Az ezeket a feltételeket, akkor adhat más fogalom meghatározását a gyökér és levél. a gyökér nem szülő. A levél nincs gyermeke.
Bináris fa - a fa gyökere. minden csúcsa van, legfeljebb két leszármazottai. Ebben az esetben, néha beszélni balra és jobbra leszármazottja leszármazottja a jelenlegi csúcs.
A magassága a gyökér a fa - a maximális számú ívek. szét a leveleket a gyökér. Ha a fa nem kiegyensúlyozott, akkor a magasság - egyszerűen ez a távolság a gyökér a távoli lap.
Végül, mi adjuk a meghatározását összekötő tetszőleges grafikonok fákkal közelebbről.
Frame Count - ezt a fát. után kapott kisülési néhány gráf élek (lásd. ábra. 11.13).
Ábra. 11.13. frame Count