Puun määritelmä Puu on yhden tai useamman kytketyn solmun muodostama hierarkinen joukko Lehtisolmuista juurisolmuun on yksikäsitteinen polku Käytetään.

Slides:



Advertisements
Samankaltaiset esitykset
18. Abstraktit tietotyypit
Advertisements

SMART Board Interaktiivinen esitystaulu -> yhdistää perinteisen liitu- ja tussitaulun sekä tietokonekuvan Sormesi on hiiri! Laura Viljamaa 2011.
LAPSET JA INTERNET Miten suojella lapsia Internetin vaaroilta?
Kausaaliverkot ja todennäköisyyslaskennan kertaus Sivut 3-17
Binääripuut Kaksihaaraista puuta sanotaan binääripuuksi:
1756 Rinnakkaisalgoritmien suunnittelu Rinnakkaisuuden hyödyntämisen perustekniikat J. Porras.
Tietorakenteet ja algoritmit
11/9/2012 © Hannu Laine 1 Tietorakenteet ja algoritmit Elegantti toteutus funktiolle insert_to_list_end Alkion lisäys sisällön mukaan järjestettyyn listaan.
2.8.3 Abstraktit tietotyypit
Markku Siermala, IMT Bioinformatiikan koulutusohjelma
Tavanomaisimpien tietorakenteiden ja algoritmien testauksesta
Yhteystila-algoritmi
Lisämuotoiluja: Tässä esityksessä tutustutaan Wordin lisämuotoiluihin, kuten sarkaimiin, sivunumerointiin, ylä- ja alatunnisteisiin sekä palstoituksen.
Käännösaikaiset virheilmoitukset • Tulee silloin, kun koodissa on jotain sellaista, joka ei ole Javan syntaksin mukaista • Esim. – Syntax error, insert.
ATK70d / Ohjelmointi 1 Kuplalajittelu © Helia / Jukka Harju, 2004.
13. Pakkaukset.
Keskusmuistipohjaiset tietokannat
Acceptability and QoS vs.
Laskuharjoitus 9 AS Automaation signaalinkäsittelymenetelmät Sumea säätö Geneettiset algoritmit.
TMA.003 / L3 ( )1 3. Funktioista 3.1. Kuvaus ja funktio Olkoon A ja B ei-tyhjiä joukkoja. Tulojoukon A  B = {(x,y) | x  A, y  B} osajoukko on.
3. Funktioista 3.1. Kuvaus ja funktio
RSA – Julkisen avaimen salakirjoitusmenetelmä Perusteet, algoritmit, hyökkäykset Matti K. Sinisalo, FL.
XPath © Reino Aarinen, Mikä on XPath? XPath on W3C:n ylläpitämä yleinen standardikieli tiedon hakemiseen XML dokumenteista selaamalla sen elementtejä.
Binäärinen hakupuu Jokaisessa solmussa on yksikäsitteinen avain
Tiedonhakumenetelmät Helena Ahonen-Myka Kevät 2004, osa 9 Merkkijonohahmon etsintä selaamalla.
RSS, Rich Site Summary © Reino Aarinen, RSS RSS (Rich Site Summary, joskus Really Simple Syndication) on menetelmä, joka käyttää XML merkkausta.
Käyttäjäksi kirjautuminen ja kursseille liittyminen 2013
Ohjeistus Copa Del VJS toimintaan Copa Del VJS 3v3.
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 19 - Heikki Henttu Optimointiopin seminaari - Syksy 2005 / 1 Verkko-teoreettinen esitystapa.
5. Lineaarinen optimointi
XPath Teppo Räisänen Liiketalouden yksikkö.
Lasilaatikkotestauksen toinen lähestymistapa. ● Siinäkin käytetään vuoverkkoa. ● Tarkastelun kohteena ovat moduulin muuttujat (myös sen käyttämät globaalit.
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 19 - Heikki Henttu Optimointiopin seminaari - Syksy 2005 / 1 Ratkaisu kotitehtävään 19.
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 2 - Jirka Poropudas Optimointiopin seminaari - Kevät 2005 / 1 Bayes-verkoista s
Yhteystiedot LogoNavigaatio Banneri - Facebook - Mainoksia Mainoksia Video Haku Nostoku va Otsikko Kuva.
Keskusmuistitietokantahakemistot Vilho Raatikka Solid Information Technology Tietokannat NYT! Helsinki,
XSL Teppo Räisänen
Listat eli luettelot listaelementit ovat lohkoelementtejä:  lista ja listan alkiot alkavat uudelta riviltä  listan jälkeen tuleva elementti alkaa uudelta.
Foreach-toistolausetMyn1 foreach-toistolause foreach-rakenteella on kätevä käydä läpi kaikki taulukon alkiot. Erityisen kätevää se on hajautustaulukon.
Lajittelu: peruskäsitteet
Prioriteettijonot ja kekolajittelu (heapsort)
Ad Hoc Wireless Multicast Routing Mikko Koskinen
Kuplalajittelu (bubble sort)
Hankalat ongelmat deterministiset ongelmat
Jakolajittelu (Radix sort) Vertailu tehdään avaimen osien perusteella Avaimia käsitellään R-kantaisina arvoina esim. postin lajittelukone prosessoi lähetykset.
Lajittelun sovelluksia Yksilöllisyyden testaaminen Kopioiden poistaminen Mediaani/n:ksi suurimman valinta frekvenssien laskenta/yleisin alkio, l.moodi.
Hajoita ja hallitse (divide and conquer) Pikalajittele n-alkioinen taulukko 1. Divide: Jaetaan taulukko kahdeksi alitaulukoksi tukialkion (pivot) x suhteen:
Kompleksisuus. Algoritmien analyysissä tutkitaan algoritmien käyttämän (tietokone)ajoajan ja muistin määrän riippuvuutta syöttöaineiston koosta (N). Syöttöaineisto.
Kompleksisuus Yleistä.
Hajakoodaus Talletetaan alkiot avain-indeksoituun taulukkoon Hajakoodausfunktio Menetelmä avain-indeksin laskemiseen avaimesta Törmäyksen selvitysstrategia.
Merkkijono Sekvenssi merkkejä aakkostosta: - binäärinen {0, 1} -ASCII, UNICODE Sovelluksia: - Tekstinkäsittely - Digitaalinen kirjasto - Laskennallinen.
Linkitetty lista Joukko alkioita jotka on kytketty toisiinsa linkeillä Listan alkio sisältää talletettavan datan ja linkin seuraavan alkioon Alkion lisääminen.
Symbolitaulut Joukko hakuavaimen omaavia tietueita LISÄÄ uusi tietue ETSI tietue hakuavaimen perusteella Sovelluksia: Spell checker etsii sanoja sanakirjasta.
Jenna Nyblom Katri Vanhatalo Oskari Anttalainen
Scalan valmiit kokoelmat. Mikä on kokoelma?  Tietorakenne jonka tehtävänä on pitää kirjaa (useista) tietyn tyyppisistä arvoista. Kokoelman sisältämiä.
Kartturin työkalut. Ennakkotutustuminen eli nuotittaminen: kilpailua edeltävällä viikolla jokaisen erikoiskokeen saa ajaa kaksi kertaa läpi vakioautolla.
Erityinen sisaruus -ryhmä
Esimerkkejä tietorakenteista
Uusia tuulia YLTin opetuksessa
Millaisia kokoelmia Scala tarjoaa
Foreach-toistolause foreach-rakenteella on kätevä käydä läpi kaikki taulukon alkiot. Erityisen kätevää se on hajautustaulukon tapauksessa, jossa taulukon.
toista 12 kertaa käännä kortti lähetä käännetty
4. Aivojen rakenne ja toiminta
Johdatus verkkoteoriaan 6. luento
13. Pakkaukset.
Artikkelihakujen tekeminen
Tuloksellisuuden mittaaminen
Tietokannan hallinta, kevät 2006, Jan Lindström
Petteri Nurmi, Eero Huvio, Jussi Kollin & Mikko Waris
Ohjeistus Etene tässä olevien ohjeiden mukaan.
Esityksen transkriptio:

Puun määritelmä Puu on yhden tai useamman kytketyn solmun muodostama hierarkinen joukko Lehtisolmuista juurisolmuun on yksikäsitteinen polku Käytetään haku, lajittelu ja grafiikka algoritmeissa juurisolmu sisäsolmuja lehtisolmuja

Puut Puu koostuu solmuista Solmut koostuvat tietoalkiosta ja linkeistä linkki solmu tietoalkio

Puut – solmun aste Solmun aste (out-degree) tarkoittaa alipuiden lukumäärää Puun aste on maksimi solmujen asteista solmun aste = 3 solmun aste = 2

Puut – vanhempisuhde Solmu jolla on alipuita on alipuiden juurisolmujen vanhempi ja alipuiden juurisolmut ovat lapsia A:lla ei ole vanhempia B on E:n ja F:n vanhempi

Puut – lapsisuhde Solmu jolla on vanhempi on sen lapsi B, C ja D ovat A:n lapsia F:llä ei ole lapsia

Puut – sisaruussuhde Saman vanhemman lapset ovat sisaruksia A:lla ei ole sisaruksia B, C ja D ovat sisaruksia keskenään

A, B ja E ovat L:n esivanhempia Puut – esivanhemmat Kaikki solmut juurisolmusta solmun X vanhempaan ovat X:n esivanhempia A:lla ei ole esivanhempia A, B ja E ovat L:n esivanhempia

Puut – jälkeläiset Kaikki alipuun jonka juurisolmuna X on ovat X:n jälkeläisiä A: jälkeläiset ovat: B,C,D,E,F,G,H,I,J,K,L,M B:n jälkeläiset ovat: E, F, K ja L F:llä ei ole jälkeläisiä

Puut – solmun taso Juurisolmu on tasolla yksi Muiden taso on vanhemman taso + 1 taso 1 2 3 4

Binääripuu Solmun lapsien maksimimäärä on kaksi 12 3 45 7 31 55

Binääripuu toteutettuna linkeillä

Binääripuu toteutettuna taulukon avulla

Täydellinen (perfect) binääripuu Jokaisella solmulla on 0 tai 2 lasta Kaikki lehtisolmut ovat samalla tasolla A B C D E F G

Täysi binääripuu Jokaisella solmulla on 0 tai 2 lasta A B C D E

Täydellinen (complete) binääripuu Kaikki tasot ovat täynnä alinta tasoa lukuunottamatta Alimmalla tasolla solmut ovat vasemmassa reunassa A B C D E F Complete Tree

Täydellinen (complete) binääripuu Kaikki tasot ovat täynnä alinta tasoa lukuunottamatta Alimmalla tasolla solmut ovat vasemmassa reunassa A B C E F G Not a Complete Tree

Solmujen lukumäärä binääripuussa – huonoin tapaus Solmujen lukumäärä on N Huonoimmassa tapauksessa (lista) puun syvyys on N A B C

Solmujen lukumäärä binääripuussa – paras tapaus Parhaassa tapauksessa puu on täydellinen (perfect) A B C D E F G

Solmujen lukumäärä täydellisessä binääripuussa Tasolla 1 on yksi solmu Tasolla 2 on kaksi solmua Tasolla 3 on neljä solmua … Tasolla n on 2n-1 solmua

Solmujen lukumäärä täydellisessä binääripuussa Tasolla n on 2n-1 solmua n:llä tasolla on yhteensä N=1+21+22+…+2n-2+2n-1=2n-1 solmua Tällöin täydellisen (perfect) binääripuun syvyys n=log2(N+1) Täysi ja täydellinen binääripuu minimoivat puun syvyyden, joka nopeuttaa operaatioita (lisää, etsi, tuhoa).

Binäärinen hakupuu Jokaisessa solmussa on yksikäsitteinen avain vasemmat jälkeläiset < nykyinen solmu < oikeat jälkeläiset 9 6 11 5 7 10

Avaimen poisto binäärisestä hakupuusta Poistetaan avain 60

Puussa kulkeminen Läpikäyntijärjestyksiä: - esijärjestys (preorder) - sisäjärjestys (inorder) - jälkijärjestys (postorder) - tasojärjestys (level order)

Esijärjestys (preorder) juuri – vasen alipuu - oikea alipuu A B D E C F A B C void esijarjestys(puuos alkio){ if(alkio){ tulosta_alkio(alkio); esijarjestys(alkio->vasen); esijarjestys(alkio->oikea); } D E F depth first-haku: “etsitään tietty haara mahdollisimman pitkälle ennen kuin peräännytään”

Binääripuu animaatioita http://www.student.seas.gwu.edu/~idsv/idsv.html

Sisäjärjestys (inorder) vasen alipuu - juuri - oikea alipuu D B E A F C A B C void sisajarjestys(puuos alkio){ if(alkio){ sisajarjestys(alkio->vasen); tulosta_alkio(alkio); sisajarjestys(alkio->oikea); } D E F • hakupuun sisältö aakkostettuna

Binäärisen hakupuun läpikäynti sisäjärjestyksessä (inorder) Järjestys: vasen alipuu - juuri - oikea alipuu 5 6 7 9 10 11 9 6 11 void sisajarjestys(puuos alkio){ if(alkio){ sisajarjestys(alkio->vasen); tulosta_alkio(alkio); sisajarjestys(alkio->oikea); } 5 7 10

Jälkijärjestys (postorder) vasen alipuu - oikea alipuu – juuri D E B F C A A B C void jalkijarjestys(puuos alkio){ if(alkio){ jalkijarjestys(alkio->vasen); jalkijarjestys(alkio->oikea); tulosta_alkio(alkio); } D E F

Tasojärjestys (level order) A B C D E F A B C D E F breadth first haku: “etsitään tietyllä etäisyydellä juuresta olevia solmuja.”

Maksimi- ja minimikeko Täydellinen binääripuu jonka jokaisen solmun avain on suurempi (pienempi) tai yhtäsuuri kuin lasten avain Suurimman (pienimmän) alkion etsiminen on nopeaa

Valintapuu