Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Binääripuut Kaksihaaraista puuta sanotaan binääripuuksi:

Samankaltaiset esitykset


Esitys aiheesta: "Binääripuut Kaksihaaraista puuta sanotaan binääripuuksi:"— Esityksen transkriptio:

1 2.8.3.4 Binääripuut Kaksihaaraista puuta sanotaan binääripuuksi:
solmulla on 0, 1 tai 2 seuraajaa vasemman puolen seuraajista muodostuu vasen alipuu (vasen poikapuu) ja oikean puolen seuraajista muodostuu oikea alipuu (oikea poikapuu) huom: lista on 1-haarainen puu eli unaaripuu !

2 Binääripuu … Puun läpikäyntijärjestykset (vasen alipuu ennen oikeaa alipuuta): esijärjestys (preorder tree walk): solmussa käydään aina ennen solmun alipuita välijärjestys (inorder): solmussa käydään aina alipuiden välissä jälkijärjestys (postorder): solmusssa käydään aina alipuiden jälkeen.

3 Binääripuu … Binääripuuoperaatioita: puun tyhjyyden testaus (puu p = tyhjä tai p  tyhjä) p.oikea tarkoittaa oikeaa alipuuta p.vasen tarkoittaa vasenta alipuuta puun alkioiden käsittelyt (lisäys, poisto, onko alkio puussa jne.).

4 Binääripuu … Esimerkki: puun alkioiden tulostus välijärjestyksessä:
MODULE välijärjestys (p) IF p  tyhjä THEN välijärjestys (p.vasen) tulosta (p.arvo) ENDIF ENDMODULE Välijärjestys on yleisin läpikäyntijärjestys.

5 Binääripuu … Määritelmä: Puu p on järjestetty binääripuu, jos:
p on tyhjä tai p on ei-tyhjä ja seuraavat ehdot ovat voimassa p:n juuren arvo > p:n vasemman alipuun jokaisen solmun arvo p:n juuren arvo < p:n oikean alipuun jokaisen solmun arvo p:n vasen ja oikea alipuu ovat järjestettyjä binääripuita.

6 Esimerkki: järjestettyjä binääripuita:
Välijärjestys tuottaa järjestetyt listat: 12, 18, 24,30, 36, 42 ja Bertta, Fredi Jaana, Jussi, Kati, Mari, Sami

7 Binääripuu … Järjestettyä binääripuuta sanotaan usein
myös binääriseksi hakupuuksi, koska puusta löydetään haluttu tieto nopeasti. Seuraavassa esimerkissä binääripuuta käytetään hyväksi lajittelussa. Tämä perustuu siihen, että välijärjestysläpikäynti tuottaa järjestetyn listan.

8 Esimerkki: Järjestetyn binääripuun käyttö listan järjestämisessä
järjestämätön lista  järjestetty binääripuu  järjestetty lista MODULE lajittele (lista l) ListaPuuksi (l, p) PuuListaksi (p, l) ENDMODULE Parametri l viittaa listan alkuun.

9 Esimerkki: Järjestetyn binääripuun käyttö listan järjestämisessä
järjestämätön lista  järjestetty binääripuu  järjestetty lista MODULE ListaPuuksi (l, p) p:= tyhjä puu WHILE l  tyhjä DO LisääPuuhun(l.arvo, p) l:=l.seuraava ENDWHILE ENDMODULE (* ListaPuuksi muodostaa järjestetyn binääripuun *)

10 Esimerkki: Järjestetyn binääripuun käyttö listan järjestämisessä
MODULE LisääPuuhun (alkio a, p) IF p=tyhjä THEN p.arvo:=a p.vasen:=tyhjä p.oikea:=tyhjä ELSE IF a < p.arvo THEN LisääPuuhun(a, p.vasen) ELSE LisääPuuhun(a, p.oikea) ENDIF ENDMODULE (* LisääPuuhun vie yhden alkion järjestettyyn binääripuuhun *)

11 Esimerkki: Järjestetyn binääripuun käyttö listan järjestämisessä
MODULE PuuListaksi (p, l) IF p  tyhjä THEN PuuListaksi (p.vasen, l) Lisää juuren arvo listan l loppuun PuuListaksi (p.oikea, l) ENDIF ENDMODULE

12 2.8.3.5 Binääripuun toteutus Kaksi päätoteutustapaa:
linkitetty rakenne sulkumerkki- eli termiesitys listana tallentaminen Toteutustapa riippuu mm. käytettävän ohjelmointikielen tarjoamista keinoista.

13 2.8.3.5 Binääripuun toteutus …
Linkitetty rakenne Jokaiseen solmuun talletetaan tietokenttien arvojen (tai arvon) lisäksi osoittimet vasempaan ja oikeaan alipuuhun. Toteutustapa riippuu mm. käytettävän ohjelmointikielen tarjoamista keinoista.

14

15 Sulkumerkki- eli termiesitys
Seuraajat kirjoitetaan sulkeisiin juuren jälkeen. esim. 18 (12, 36). Tyhjälle puulle käytetään sovittua symbolia, esim. . Lehtien tyhjiä seuraajia ei merkitä. Perustuu esijärjestykseen. Esimerkiksi Jussi(Fredi(Bertta, Jaana), Kati (, Sami(Mari, )))

16 Listaesitys, esimerkiksi vektorissa:
Puun juuri on listarakenteen 1. alkio. Paikassa i sijaitsevan solmun vasen seuraaja sijaitsee paikassa 2i ja oikea seuraaja paikassa 2i+1. implisiittinen tietorakenne – sisäänrakennettu sääntö Esim. [ Jussi, Fredi, Kati, Bertta, Jaana, _, Sami, _,_,_,_,_,_Mari,_] Keko solmun arvo on suurempi kuin poikasolmujen arvot poikasolmujen välillä ei määrättyä järjestystä listaesityksessä V[i]>V[2i] ja V[i]>V[2i+1] maksimin haku on triviaali tehtävä – löytyy puun juuresta

17 Graafi kärjet (solmut) ja niitä yhdistävät kaaret puurakenteen yleistys ei hierarkiaa kuten puissa solmun aste = niiden kaarien lukumäärä, jotka lähtevät tästä solmusta muihin solmuihin

18 (huom. tässä ei etäisyyksiä)
Graafin esitysmuodot graafinen kartta bittikartta  (huom. tässä ei etäisyyksiä) Kuopio-solmun aste = 3

19 Graafinen kartta vs. taulukko
kaupunkien väliset etäisyydet graafinen kartta bittikartta etäisyys ei heti saatavilla, täytyy laskea löytyy helposti rakenteen muuttuessa (lisäkaaria) päivitys helppoa yleensä vaatii koko matriisin läpikäymisen

20 2.8.3.7 Graafin toteutus Linkitetyt rakenteet Bittikarttaesitykset:
kustakin solmusta linkit kaikkiin niihin solmuihin, joihin tästä solmusta on kaari miten tallennetaan linkit? tietueen kenttinä – täytyy asettaa yläraja miten muuten? (pohdinta) Bittikarttaesitykset: ykkösen sijalla voi olla kaaren paino, esim. välimatka tiedot kahteen kertaan taulukossa!

21 Tyypillisimpiä graafeja
Suuntamaton graafi kaksisuuntaiset kaaret maantiekartta Suunnattu graafi kaupungin katuverkko yksisuuntaisine katuineen Puijonkatu 2-suuntaiset kadut kahtena kaarena Painotettu graafi kaaret varustetaan lukuarvoilla useampi kuin yksi kaari 2 solmun välillä kaistojen lkm, etäisyys kaupunkien välillä Suunnattu syklitön graafi

22 Suunnattu syklitön graafi
Directed Acyclic Graph, DAG Sykli = kaarien muodostama polku, joka päättyy samaan solmuun mistä se alkaa symmetriset suhteet kaksisuuntaisilla kaareilla aiheuttavat syklejä epäsymmetriset suhteet yksisuuntaisilla kaareilla eivät Esim. perhejäsenten suhteet DAG:na puurakenne ei riitä, koska lapsella on 2 vanhempaa (edeltäjää) vanhempien välillä suhteet mies/vaimo vanhempi/lapsi epäsymmetrinen suhde sisarus-suhde luo syklejä – ratkaisu esikoinen/pikkusisarus -relaatiot


Lataa ppt "Binääripuut Kaksihaaraista puuta sanotaan binääripuuksi:"

Samankaltaiset esitykset


Iklan oleh Google