Graafin tietorakenne ja Algorithms (Esimerkki)

Mikä on graafi tietorakenteessa?

Graafi on epälineaarinen tietorakenne, joka koostuu pisteistä ja reunoista, jossa kärjet sisältävät tiedot tai datan ja reunat toimivat linkkinä kärkiparien välillä.

Sitä käytetään oikeiden tekstiongelmien ratkaisemiseen, kuten parhaan reitin löytämiseen määränpäähän sekä televiestinnän ja sosiaalisten verkostojen reitin löytämiseen. Käyttäjiä pidetään Graphin solmuina, ja johdot ovat käyttäjiä yhdistäviä reunoja.

Jos reunat esitetään muodossa E ja kärjet V, niin graafi G voidaan kirjoittaa kärkien ja reunojen joukoksi, kuten esim. G (V, E)

Esimerkki graafista tietorakenteessa

Tässä on yksinkertainen esimerkki kaavion tietorakenteesta:

Esimerkki graafista tietorakenteessa

Se on yksinkertainen ohjaamaton graafi (yksi graafinen tyyppi). Tässä kärkijoukko on: {A, B, C,D,E,F}. Kaksi kärkeä luo reunan. Esimerkiksi A ja B on yhdistetty reunalla. A ja F eivät kuitenkaan ole sidoksissa mihinkään reunaan.

Kuvaajan terminologiat tietorakenteessa

Seuraavassa on joitain tärkeitä termejä, joita käytetään kaavion tietorakenteessa:

Termi Tuotetiedot
Kärki Kaikkia tietoelementtejä kutsutaan kärjeksi tai solmuksi. Yllä olevassa kuvassa A, B, C, D & E ovat kärjet.
Reuna (kaari) Kahden solmun tai kärjen välisiä yhdistäviä linkkejä kutsutaan reunaksi (Arc). Sillä on kaksi päätä ja se esitetään muodossa (alkuVertex, loppuVertex).
Ohjaamaton reuna Se on kaksisuuntainen reuna.
Ohjannut Edge Se on yksisuuntainen reuna.
Painotettu reuna Reuna, jolla on arvoa.
Aste Grafissa kärkipisteeseen yhdistettyjen reunojen lukumäärää kutsutaan asteeksi.
Indegree Huippupisteeseen yhdistettyjen saapuvien reunojen kokonaismäärä.
Ylimielinen Huippupisteeseen yhdistettyjen lähtevien reunojen kokonaismäärä.
Itsesilmukka Reunaa kutsutaan itsesilmukaksi, jos sen kaksi päätepistettä ovat samat.
Viereisyys Pisteiden sanotaan olevan vierekkäisiä, jos reuna on yhdistetty.

Kuvaajien tyypit tietorakenteessa

Tässä on luettelo yleisimmistä kaaviotyypit tietorakenteessa:

  • Ohjattu graafi
  • Ohjaamaton kaavio
  • Painotettu kaavio
  • Kaksisuuntainen kaavio
  • Ääretön kaavio
  • Nollakuvaaja
  • Triviaali kaavio
  • Monikuvaaja
  • Täydellinen kaavio
  • Yhdistetty kaavio
  • Syklinen kaavio
  • Suunnattu asyklinen kaavio (DAG)
  • Kiertokaavio
  • Kahdenvälinen kaavio
  • Euler-kaavio
  • Hamiltonin kaavio

Graafisen tietorakenteen sovellukset

Kaaviolla on monia käyttötapauksia. On olemassa monia algoritmeja, jotka käyttävät paljon grafiikkaa. Tässä on joitain Graphin sovelluksia:

  • Google Maps löytää kaavioiden avulla kahden tien risteyksen ja laskee kahden sijainnin välisen etäisyyden.
    Esimerkiksi Dijkstra, löytääksesi lyhimmän etäisyyden lähteen ja määränpään välillä.
  • Facebook käyttää Grapheja löytääkseen käyttäjien yhteisen ystävän. Sen algoritmi pitää jokaista käyttäjää graafin solmuna.
  • Resurssien allokoinnissa käytetään DAG:ta (Direct Acyclic Graph). Se tarkistaa resurssien riippuvuuden.
  • Google-hakukone käyttää kaavioita verkkosivustojen sijoituksen luomiseen.
  • Kartoituslaite käyttää graafin tietorakennetta.
  • reititin ja t:n protokolla käyttää Grafia oppiakseen määränpääpolun polun.