logo

Graafi ja sen esitykset

Mikä on graafin tietorakenne?

A Kaavio on epälineaarinen tietorakenne, joka koostuu pisteistä ja reunoista. Pistejä kutsutaan joskus myös solmuiksi ja reunat ovat viivoja tai kaaria, jotka yhdistävät mitä tahansa kahta graafin solmua. Muodollisemmin graafi koostuu joukosta pisteitä ( SISÄÄN ) ja joukko reunoja ( JA ). Kaavio on merkitty G(V, E) .

Graafin esitykset

Tässä on kaksi yleisintä tapaa esittää kaavio:

  1. Vierekkäisyysmatriisi
  2. Vierekkäisten kohteiden luettelo

Vierekkäisyysmatriisi

Viereisyysmatriisi on tapa esittää graafi loogisen matriisina (0:t ja 1:t).



mitä google tarkoittaa

Oletetaan, että niitä on n graafin kärjet Luo siis 2D-matriisi adjMat[n][n] jonka mitat ovat n x n.

  • Jos kärjestä on reuna i to j , merkki adjMat[i][j] kuten 1 .
  • Jos kärjestä ei ole reunaa i to j , merkki adjMat[i][j] kuten 0 .

Suuntaamattoman graafin esitys vierekkäisyysmatriisiin:

Alla olevassa kuvassa on suuntaamaton kaavio. Aluksi koko Matrix alustetaan 0 . Jos lähteestä määränpäähän on reuna, lisäämme 1 molempiin tapauksiin ( adjMat[kohde] ja adjMat [ määränpää]) koska voimme mennä kumpaan tahansa suuntaan.

Undirected_to_Adjacency_matrix

Ohjaamaton graafi vierekkäisyysmatriisiin

Suunnatun graafin esitys vierekkäisyysmatriisiin:

Alla olevassa kuvassa on suunnattu kaavio. Aluksi koko Matrix alustetaan 0 . Jos lähteestä määränpäähän on reuna, lisäämme 1 sille nimenomaiselle adjMat[kohde] .

Ohjattu_naapurimatriisiin

Ohjattu graafi vierekkäisyyteen

Lähialueiden luettelo

Listojen taulukkoa käytetään kahden kärjen välisten reunojen tallentamiseen. Taulukon koko on yhtä suuri kuin luku kärjet (eli n) . Jokainen tämän taulukon indeksi edustaa tiettyä kaavion kärkeä. Syöte taulukon indeksissä i sisältää linkitetyn listan, joka sisältää kärjen vieressä olevat kärjet i .

listaa java taulukkoon

Oletetaan, että niitä on n graafin kärjet Luo siis an luettelon joukko kooltaan n kuten adjList[n].

  • adjList[0] sisältää kaikki solmut, jotka on kytketty (naapuri) kärkipisteeseen 0 .
  • adjList[1] sisältää kaikki solmut, jotka on kytketty (naapuri) kärkipisteeseen 1 ja niin edelleen.

Suuntaamattoman graafin esitys vierekkäisyysluetteloon:

Alla olevassa suuntaamattomassa graafissa on 3 kärkeä. Joten luodaan listaluettelo, jonka koko on 3, jossa jokainen indeksi edustaa huippuja. Nyt kärjellä 0 on kaksi naapuria (eli 1 ja 2). Joten, lisää kärkipisteet 1 ja 2 taulukon indekseihin 0. Vastaavasti kärjessä 1 on kaksi naapuria (eli 2 ja 0), joten lisää kärjet 2 ja 0 taulukon indekseihin 1. Vastaavasti kärkipisteen 2 kohdalla lisää sen naapurit listan taulukkoon.

Suuntaamattoman graafin esitys vierekkäisyyksien luetteloon

Ohjaamaton kuvaaja vierekkäisten kohteiden luetteloon

Suunnatun graafin esitys vierekkäisyysluetteloon:

Alla olevassa suunnatussa graafissa on 3 kärkeä. Joten luodaan listaluettelo, jonka koko on 3, jossa jokainen indeksi edustaa huippuja. Nyt kärjellä 0 ei ole naapureita. Huipulla 1 sillä on kaksi naapuria (eli 0 ja 2), joten lisää kärjet 0 ja 2 taulukon indekseihin 1. Vastaavasti kärkipisteen 2 kohdalla lisää sen naapurit listan taulukkoon.

Suunnatun graafin esitys vierekkäisyyksien luetteloon

Suunnattu kaavio vierekkäisten kohteiden luetteloon