Szerkezet danyh 1
Tulajdonképpen már tekinthető az egyik példája az ilyen struktúra grafén - egy fa. A fa egy irányítatlan gráf súlyozatlan.
A grafikonok valójában meglehetősen őrült összeget. De az egyszerűség kedvéért fogjuk osztani a grafikon két típusa van:
- irányítatlan gráf
- Egy irányított gráf (irányított gráf).
Irányítatlan gráf. egy részhalmaza pár (V, E), ahol V - egy részhalmaza csúcsok és E - részhalmaza összekötő élekhez ezeket a csúcsokat. Megválni mindenféle bonyolult leírásokat és kifejezések könnyebb elképzelni a gróf két pont, A és B, a kapcsolatok a szélét. Az irányítatlan gráf széle mentén az A pont lehet eljutni a B pont, a B ponttól A.
Egy irányított gráf minden ugyanaz, kivéve, hogy a bordák már nevezett az ívet, és ők egyértelműen kapcsolódni egyik helyről a másikra. Például pont a B pont, ami azt jelenti, hogy attól a ponttól, a B pont, hogy egy ív, akkor, de a B pontból A pont - shish itt is. W természetesen a B pont, hogy az A pont lehet túl ív :)
A grafikonok, nincs minden a végén a két pont, grafikonok most százmillió csúcsok, vagy akár milliárd, vagy még inkább, egy hatalmas számú élek és ívek (igen, vannak vegyes grafikonok, ahol néhány csúcsot egymással vannak összekötve ívek, és néhány bordák) csúcsok között.
Súlyozott gráf - egy grafikon, ahol minden egyes éle lepecsételt egy bizonyos számú nevezzük a súlya a borda.
Valójában, a grafikon is képviselteti magát egy listát a adjacencies és mint szomszédsági mátrix.
A szomszédsági mátrix - mátrix az NxN ahol n száma a gráf, és a sejtek [i, j] jelentése vagy egy link a csomópontok közötti i, j. A szomszédsági mátrix, vagy egyszerűen csak azt mondom, nincs összefüggés a csúcsok i, j, akkor is, ha közülük sok más csúcsokat. Mínusz a szomszédsági mátrix memória mennyisége a tárolni kívánt információt a grafikonon. Például, 10 csúcsok ad nekünk egy mátrix - 10 és 10 közötti, ami megegyezik a 100 sejtek a mátrix. Ha azonban akkor még azt is használják ezer csúcs - a sejtek száma nő és 1 millió :)
Tegyük fel, hogy egy gráf:
Itt fog kinézni a következő módon:
Egy másik ábrázolása a gráf egy lista adjacencies. Tulajdonképpen ez egy bemutató egy lista, ahol egyrészt - a tetején, és a másik oldalon egy listát csúcsú amelynek van egy kapcsolat.
Egy ilyen szerkezet több szempontjából optimális memória használat, de kevésbé hatékony szempontjából műveletek.
Az ezt követő hozzászólásokat fogják használni, mint a képviselete a gráf szomszédsági listában. Először memória másrészt könnyebb rám képviseli grafikonok egy ilyen szerkezet.
Earl létre az átvitel során a csúcsok száma. Kialakítása során a grafikon, hozunk létre olyan tömb, amiben minden csúcs tárolja kapcsolatok más csomópontok.
Hozzáadása csúcs. Mivel irányítatlan gráf, ha a csomópont egy van kötve egy B csúcs, majd fordítva.
Benyújtása egy irányított gráf pontosan ugyanaz, az egyik változás:
Mint látható, a különbség csak az egyik módszer addEdge - itt hozzá, csak 1 kapcsolatot csomópontokat.
Mint általában, a forráskód példák megtalálja itt.
kódoló Maleev blogja