58131 Tietorakenteet (kevät 2008) 1. kurssikoe, ratkaisuja
|
|
- Yrjö Pakarinen
- 6 vuotta sitten
- Katselukertoja:
Transkriptio
1 1 Tietorakenteet (kevät 08) 1. kurssikoe, ratkaisuja Tehtävän 1 korjasi Mikko Heimonen, tehtävän 2 Jaakko Sorri ja tehtävän Tomi Jylhä-Ollila. 1. (a) Tehdään linkitetty lista kaikista sukunimistä. Kuhunkin listan solmuun liittyy paitsi sukunimi, myös osoitin kaikki siihen liittyvät etunimet sisältävään listaan. Allaolevassa esimerkissä hakemisto sisältää nimet Maija Niemi, Ville Niemi, Tauno Niemi, Tuula Järvi, Matti Lahti ja Maija Lahti. Listojen toteutukseen on tässä valittu kahteen suuntaan linkitetty rengaslista. head Niemi Maija Ville Tauno sukunimi Järvi Tuula alku loppu taakse eteen sukunimisolmu Lahti Matti Maija etunimi eteen taakse etunimisolmu (b) TULOSTA-SUKUNIMET if head NIL then p head repeat print sukunimi[p] p eteen[p] until p = head TULOSTA-ETUNIMET(suku) if head NIL then p head if sukunimi[p] suku then repeat p eteen[p] until sukunimi[p] = suku or p = head if sukunimi[p] = suku then q alku[p] while q p do print etunimi[q] q eteen[q]
2 (c) INSERT(etu, suku) if head = NIL then p new sukunimisolmu sukunimi[p] suku eteen[p] taakse[p] alku[p] loppu[p] p else p head if sukunimi[p] suku then repeat p eteen[p] until sukunimi[p] = suku or p = head if sukunimi[p] suku then p new sukunimisolmu sukunimi[p] suku alku[p] loppu[p] p eteen[p] head taakse[p] taakse[head] taakse[head] p eteen[taakse[p]] p head p q new etunimisolmu etunimi[q] etu eteen[q] eteen[p] taakse[q] p eteen[p] q taakse[eteen[q]] q Arvostelusta: Täydet pisteet oli mahdollista saada paitsi listoja sisältävällä listalla myös esimerkiksi listoja sisältävälllä hakupuulla (tai hakupuita sisältävällä hakupuulla), kunhan funktiot toimivat kuten määriteltyä ja hakuoperaatioiden aikavaativuudet eivät ylittyneet. Joitakin yleisiä virheitä: Jos ratkaisu perustui kokonaan taulukoihin, joiden oletettiin olevan äärettömän kokoisia, oli maksimi 4 pistettä. Jos INSERT kasvatti taulukkoa tarpeen mukaan, sai täydet pisteet, mutta ainoa tällaista ratkaisua ehdottanut paperi sisälsi muita ongelmia. Jos ratkaisuna oli taulukkoja sisältävä lista (jonka taulukot vuotivat yli), sai yleensä 6 pistettä. Jos ratkaisu oli yksi linkitetty lista, jonka solmut sisälsivät etunimi, sukunimi -pareja, oli maksimi 4 pistettä, koska tällöin hakuoperaatiot toimivat ajassa O(lisättyjen henkilöiden määrä), joka on eri kuin O(n) tai O(n + m). Lisäksi jos listaa ei pidetty järjestyksessä, tulostuivat sukunimet yleensä useampaan kertaan, mistä menetti vielä yhden pisteen. Jos ratkaisuissa käytti jotain listaoperaatiota (kuten SEARCH) eikä esittänyt itse sen toteutusyksityiskohtia, menetti yhden pisteen. Useammasta saman operaation käytöstä ei rangaistu erikseen. Lisäksi koodin epäloogisuudet tai puutteet toiminnallisuudessa verottivat pisteitä. 2. (a) AVL-puussa jokaisen solmun vasemman ja oikean alipuun korkeuksien ero saa olla vain 1, 0 tai +1. AVL-tasapainoehdosta seuraa, että n-solmuisen puun korkeus on O(log n). Tästä edelleen seuraa, että joukko-operaatiot n-alkioisella joukolla toimivat pahimmassakin tapauksessa ajassa O(log n), kun tasapainottamattomalla binääripuulla pahimman tapauksen aikavaativuudet ovat O(n). Arvostelusta: Yksi piste tasapainoehdosta, toinen AVL-puun edusta tasapainottamattomaan binääripuuhun nähden. Kohta oli osattu pääsääntöisesti hyvin ja pistemenetyksiä tuli etupäässä ylimal-
3 kaisuuksista. Kahta pistettä ei saanut vain toteamalla, että AVL-puut ovat nopeampia, jos ei vihjaissut mitään siitä, missä ne ovat nopeampia tai miksi. (b) Lisätään alkio, jolloin solmu joutuu epätasapainoon (vasemman alipuun korkeus 2, oikean 0): Kierretään oikealle solmussa, jolloin puu päätyy tasapainoon:
4 Avaimen 8 lisääminen ei riko puun tasapainoa, joten kiertoja ei tarvita: Avaimen 27 lisääminen saattaa solmun epätasapainoon (vasemman alipuun korkeus, oikean 1):
5 Koska lisäys on tehty solmun vasemman lapsen oikeaan alipuuhun, tarvitaan vasen-oikeakaksoiskierto: Arvostelusta: Kohdasta oli mahdollista saada täysin oikealla vastauksella ja riittävillä selityksillä tai välivaiheiden piirtämisellä pistettä. Kustakin virheestä ja olennaisten välivaiheiden puuttumisesta rokotettiin yhdellä pisteellä. Kohta oli osattu varsin hyvin. Harmittavan monelta oli kuitenkin jäänyt huomaamatta, että avaimen lisääminen vie solmun epätasapainoon, vaikka tasapainoehto olikin a-kohdassa osattu. Myös avaimen 27 lisäämisen aiheuttama kaksoiskierto aiheutti monelle päänvaivaa. Täydet pisteet sai vain näyttämällä, miten kaksoiskierto tehdään oikeaoppisesti. Vastauksista, joissa oli päädytty oikeaan lopputilanteeseen ilman selityksiä tai välivaiheita vähennettiin yksi piste, samaten niistä, joissa lopputilanne oli laillinen AVL-puu, mutta matkan varrella tehtiin laittomia kiertoja tai tarpeettoman monta laillista kiertoa. Jos lopputilanne ei täyttänyt AVL-puun tasapainoehtoa, vähennettiin kaksi pistettä. (c) Koska solmulla on kaksi lasta, normaali binääripuun poisto siirtää avaimen sisältäneeseen solmuun seuraaja-avaimen. Avaimen sisältänyt solmu poistetaan puusta. Puu on edelleen tasapainossa:
6 Avain 7 on lehdessä, joka voidaan suoraan poistaa. Nyt solmu joutuu epätasapainoon (vasemman alipuun korkeus 0, oikean 2): Solmu tasapainottuu tekemällä siinä oikea-vasen-kaksoiskierto:
7 Nyt kuitenkin solmu joutui epätasapainoon (vasemman alipuun korkeus 4, oikean 2). Koska korkein alipuu on vasemman lapsen oikea alipuu, tehdään vasen-oikea-kaksoiskierto: Puu on nyt tasapainossa. Arvostelusta: Pisteytysperusteet samat kuin edellä, eli max. pistettä, virheistä rokotettiin yksi piste. Välivaiheiden näyttämistä pyydettiin tehtävänannossa, joten täysiä pisteitä ei tässäkään kohdassa saanut pelkillä oikeilla lopputilanteilla. Kohta näytti olleen tehtävän vaikein. Avainta poistettaessa seuraajan kaivaminen puusta aiheutti hankaluuksia, mikä johti usein eriskummallisten operaatioiden sarjaan. Näistä vähennettiin pääsääntöisesti vain yksi piste. Lehden 7 poistaminen oli osattu paremmin ja myös siitä aiheutuva solmun epätasapaino oli huomattu mukavasti. Tosin tasapainotuksen vaatima kaksoiskierto aiheutti joillekin päänvaivaa, ja muutamissa vastauksissa lopputilanteeksi jäi laiton binääripuu (yleensä avain oli avaimen oikea lapsi), mistä rokotettiin armotta. Yleisempi virhe oli kuitenkin se, että solmun tasapainotuksen aiheuttama epätasapaino solmussa jäi huomaamatta. Täydet pisteet sai vain huomaamalla kaikki epätasapainot ja näyttämällä oikeat kierrot puun tasapainottamiseksi. Välivaiheiden puuttuminen tulkittiin virheeksi.. (a) Väite: Epätyhjässä täydessä binääripuussa lehtien lukumäärä = sisäsolmujen lukumäärä + 1. Todistus: Tehdään induktio puun korkeuden suhteen. Koska väite koskee epätyhjiä puita, korkeuden 1 osalta ei ole mitään todistettavaa. Jos T on täysi binääripuu, jonka korkeus on nolla, siinä on yksi lehti ja nolla sisäsolmua. Väite siis pätee. Tehdään nyt induktio-oletus, että väite pätee kaikilla puille, joiden korkeus on korkeintaan h 0. Olkoon T täysi binääripuu, jonka korkeus on h+1. Siis T :n vasemman ja oikean alipuun korkeudet ovat kumpikin korkeintaan h (ja ainakin toinen on tasan h, mutta sitä ei tässä tarvita). Oletuksen mukaan T on täysi eli jokaiselle sen solmulla on 0 tai 2 lasta; tämä pätee erityisesti vasemman ja oikean alipuun solmuille, joten oikea ja vasen alipuu ovat täysiä. Lisäksi myös juurella on kaksi lasta (koska korkeus ei ole nolla), eli T :n vasen ja oikea alipuu ovat epätyhjiä. Vasen ja oikea alipuu ovat siis epätyhjiä täysiä binääripuita, joiden korkeus on korkeintaan h, ja niihin voidaan soveltaa induktio-oletusta. Olkoon vasemman alipuun sisäsolmujen lukumäärä s L ja lehtien l L ; oikeassa alipuussa vastaavasti s R ja l R. Induktio-oletuksen nojalla l L = s L + 1 ja l R = s R + 1. Olkoon s T koko puun T sisäsolmujen lukumäärä ja l T lehtien lukumäärä. Puun T lehtiä ovat vasemman ja oikean alipuun lehdet. Puun T sisäsolmuja ovat vasemman ja oikean alipuun sisäsolmut sekä lisäksi juuri. Saadaan l T = l L + l R = (s L + 1) + (s R + 1) (induktio-oletus) = (s L + r L + 1) + 1 = s T + 1
8 eli väite pätee myös puulle T. Arvostelusta: Vastaukset on arvosteltu seuraavien tekijöiden mukaisesti. Perustapaus on käsitelty oikein (2 p). Tässä riittää esitellä sellainen tapaus, jonka voi täydentää sopivalla induktioaskeleella siten, että väite tulee osoitetuksi kaikille täysille binääripuille. Yksinkertaisin tapa on esitellä yksisolmuinen puu. Induktioaskel on tehty oikein (6 p): Induktio-oletuksessa käytetään täysiä puita, joihin oletusta voidaan soveltaa (2 p). Induktioaskelta toistuvasti soveltamalla voidaan muodostaa kaikki täydet binääripuut perustapauksesta lähtien (2 p). Uuden puun lehtien ja sisäsolmujen määrä on laskettu oikein (2 p). (Pisteitä olisi vähennetty, mikäli itsessään validi perustapaus ja induktioaskel eivät olisi sopineet yhteen toistensa kanssa, mutta tällaisia vastauksia ei ollut.) Moni vastaajista oli esittänyt todistuksen täydellisille binääripuille, jotka ovat erikoistapaus täysistä puista. Tästä annettiin esitystarkkuudesta riippuen 2 tai pistettä. Yleinen puute muuten oikeissa ratkaisuissa oli se, että induktioaskeleessa ei käytetty nimenomaan täysiä binääripuita eikä perusteltu, miksi niistä muodostettu uusi puu on täysi. (b) Tehtävänä oli esittää yksityiskohtainen pseudokoodi algoritmille POISTA-PIENEMMÄT(T,k), joka poistaa puusta T kaikki avainta k pienemmät avaimet. POISTA-PIENEMMÄT(T, k) root[t] PIENEMMÄT-POISTETTU(root[T], k) PIENEMMÄT-POISTETTU(x, k) if x = NIL then return NIL elseif key[x] k then Poistot tehdään vasemmassa alipuussa left[x] PIENEMMÄT-POISTETTU(left[x], k) return x else Juuri ja vasen alipuu poistetaan kokonaan return PIENEMMÄT-POISTETTU(right[x], k) Arvostelusta: Vastaukset on arvosteltu seuraavien tekijöiden mukaisesti. Algoritmi toimii oikein (8 p). Pienempi avain löydetään oikein (2 p). Pienemmän avaimen löytyessä se ja sen vasen alipuu poistetaan oikein ja jatketaan tarkastelua oikeassa alipuussa (s.e. oikeaan alipuuhun säilytetään viite oikein) (4 p). Puussa eteneminen päättyy oikein (2 p). Jos algoritmin aikavaativuus ei ollut O(h), vähennettiin 1 p. Isäviitteiden käyttö on sallittu, kunhan nämä viitteet päivitetään poistojen yhteydessä oikein. Tyypillinen virhe oli poistaa vasen alipuu kokonaan sellaiselta solmulta x, jolle key[x] = k. Täältä voi kuitenkin edelleen löytyä solmuja, joilla on yhtä suuri avain. Monissa vastauksissa viitteitä lapsisolmuihin (ja isäsolmuihin, mikäli ne olivat käytössä) ei ollut päivitetty oikein, vaan poistettavan solmun oikea alipuu hukattiin. Myös DELETE-operaation käyttö oli suosittua, mutta tämä johti algoritmin hidastumiseen. Lisäksi poistetun solmun korvaajaa ei ollut aina muistettu käsitellä.
AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta
AVL-puut eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta pohjana jo esitetyt binäärihakupuiden operaatiot tasapainotus vie pahimmillaan lisäajan lisäys- ja
LisätiedotHakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina
Hakupuut tässä luvussa tarkastelemme puita tiedon tallennusrakenteina hakupuun avulla voidaan toteuttaa kaikki joukko-tietotyypin operaatiot (myös succ ja pred) pahimman tapauksen aikavaativuus on tavallisella
Lisätiedotv 1 v 2 v 3 v 4 d lapsisolmua d 1 avainta lapsen v i alipuun avaimet k i 1 ja k i k 0 =, k d = Sisäsolmuissa vähint. yksi avain vähint.
Yleiset hakupuut 4 Monitiehakupuu: Binäärihakupuu 0 1 3 5 6 7 8 v k 1 k k 3 v v 3 v 4 k 1 k 3 k 1 k k k 3 d lapsisolmua d 1 avainta Yleinen hakupuu? Tietorakenteet, syksy 007 1 Esimerkki monitiehakupuusta
Lisätiedot3. Hakupuut. B-puu on hakupuun laji, joka sopii mm. tietokantasovelluksiin, joissa rakenne on talletettu kiintolevylle eikä keskusmuistiin.
3. Hakupuut Hakupuu on listaa tehokkaampi dynaamisen joukon toteutus. Erityisesti suurilla tietomäärillä hakupuu kannattaa tasapainottaa, jolloin päivitysoperaatioista tulee hankalampia toteuttaa mutta
Lisätiedot58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen)
58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe 12.9.2018 ratkaisuja (Jyrki Kivinen) 1. [10 pistettä] Iso-O-merkintä. (a) Pitääkö paikkansa, että n 3 + 5 = O(n 3 )? Ratkaisu: Pitää paikkansa.
LisätiedotTKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)
TKT0001 Tietorakenteet ja algoritmit Erilliskoe 5.1.01, malliratkaisut (Jyrki Kivinen) 1. [1 pistettä] (a) Esitä algoritmi, joka poistaa kahteen suuntaan linkitetystä järjestämättömästä tunnussolmullisesta
Lisätiedot58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut
58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut 1. Palautetaan vielä mieleen O-notaation määritelmä. Olkoon f ja g funktioita luonnollisilta luvuilta positiivisille
Lisätiedot(a) L on listan tunnussolmu, joten se ei voi olla null. Algoritmi lisäämiselle loppuun:
Tietorakenteet ja algoritmit, kevät 201 Kurssikoe 1, ratkaisuja 1. Tehtävästä sai yhden pisteen per kohta. (a) Invariantteja voidaan käyttää algoritmin oikeellisuustodistuksissa Jokin väittämä osoitetaan
LisätiedotAlgoritmit 2. Luento 2 Ke Timo Männikkö
Algoritmit 2 Luento 2 Ke 15.3.2017 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2017 Luento
LisätiedotAlgoritmit 2. Luento 2 To Timo Männikkö
Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento
LisätiedotAlgoritmit 2. Luento 5 Ti Timo Männikkö
Algoritmit 2 Luento 5 Ti 26.3.2019 Timo Männikkö Luento 5 Puurakenteet B-puu B-puun korkeus B-puun operaatiot B-puun muunnelmia Algoritmit 2 Kevät 2019 Luento 5 Ti 26.3.2019 2/34 B-puu B-puut ovat tasapainoisia
LisätiedotMiten käydä läpi puun alkiot (traversal)?
inääripuut ieman lisää aidon binääripuun ominaisuuksia lehtisolmuja on yksi enemmän kuin sisäsolmuja inääripuut tasolla d on korkeintaan 2 d solmua pätee myös epäaidolle binääripuulle taso 0: 2 0 = 1 solmu
LisätiedotTietorakenteet, laskuharjoitus 7, ratkaisuja
Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9
LisätiedotAlgoritmit 1. Luento 7 Ti Timo Männikkö
Algoritmit 1 Luento 7 Ti 31.1.2017 Timo Männikkö Luento 7 Järjestetty binääripuu Binääripuiden termejä Binääripuiden operaatiot Solmun haku, lisäys, poisto Algoritmit 1 Kevät 2017 Luento 7 Ti 31.1.2017
LisätiedotAlgoritmit 1. Luento 5 Ti Timo Männikkö
Algoritmit 1 Luento 5 Ti 24.1.2017 Timo Männikkö Luento 5 Järjestetty lista Järjestetyn listan operaatiot Listan toteutus taulukolla Binäärihaku Binäärihaun vaativuus Algoritmit 1 Kevät 2017 Luento 5 Ti
LisätiedotAlgoritmit 2. Luento 4 To Timo Männikkö
Algoritmit 2 Luento 4 To 21.3.2019 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2019 Luento 4
LisätiedotAlgoritmit 2. Luento 5 Ti Timo Männikkö
Algoritmit 2 Luento 5 Ti 28.3.2017 Timo Männikkö Luento 5 Puurakenteet B-puu B-puun korkeus B-puun operaatiot Algoritmit 2 Kevät 2017 Luento 5 Ti 28.3.2017 2/29 B-puu Algoritmit 2 Kevät 2017 Luento 5 Ti
Lisätiedot4. Joukkojen käsittely
4 Joukkojen käsittely Tämän luvun jälkeen opiskelija osaa soveltaa lomittuvien kasojen operaatioita tuntee lomittuvien kasojen toteutuksen binomi- ja Fibonacci-kasoina sekä näiden totetutusten analyysiperiaatteet
LisätiedotPinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia
Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia Kukin alkio (viite) talletettuna solmuun (node) vastaa paikan käsitettä
LisätiedotAlgoritmit 1. Luento 6 Ke Timo Männikkö
Algoritmit 1 Luento 6 Ke 25.1.2017 Timo Männikkö Luento 6 Järjestetty lista Listan toteutus dynaamisesti Linkitetyn listan operaatiot Vaihtoehtoisia listarakenteita Puurakenteet Binääripuu Järjestetty
LisätiedotAlgoritmit 2. Luento 4 Ke Timo Männikkö
Algoritmit 2 Luento 4 Ke 22.3.2017 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2017 Luento 4
LisätiedotAlgoritmi on periaatteellisella tasolla seuraava:
Algoritmi on periaatteellisella tasolla seuraava: Dijkstra(V, E, l, v 0 ): S := { v 0 } D[v 0 ] := 0 for v V S do D[v] := l(v 0, v) end for while S V do valitse v V S jolle D[v] on minimaalinen S := S
LisätiedotTietorakenteet, laskuharjoitus 6,
Tietorakenteet, laskuharjoitus, 23.-2.1 1. (a) Kuvassa 1 on esitetty eräät pienimmistä AVL-puista, joiden korkeus on 3 ja 4. Pienin h:n korkuinen AVL-puu ei ole yksikäsitteinen juuren alipuiden keskinäisen
LisätiedotBinäärihaun vertailujärjestys
Järjestetyn sanakirjan tehokas toteutus: binäärihaku Binäärihaku (esimerkkikuassa aain = nimi) op Eea 5 op 5 op op 8 op 5 6 7 8 op Eea 5 op 5 op op 8 op 5 6 7 8 op Eea 5 op 5 op op 8 op 5 6 7 8 op Eea
Lisätiedot58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 1, , vastauksia
58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 1, 25.2.2013, vastauksia 1. (a) O-merkintä Ω-merkintä: Kyseessä on (aika- ja tila-) vaativuuksien kertalukumerkinnästä. O-merkintää käytetään ylärajan
Lisätiedot58131 Tietorakenteet Erilliskoe , ratkaisuja (Jyrki Kivinen)
58131 Tietorakenteet Erilliskoe 11.11.2008, ratkaisuja (Jyrki Kivinen) 1. (a) Koska halutaan DELETEMAX mahdollisimman nopeaksi, käytetään järjestettyä linkitettyä listaa, jossa suurin alkio on listan kärjessä.
LisätiedotB + -puut. Kerttu Pollari-Malmi
B + -puut Kerttu Pollari-Malmi Tämä monista on alunperin kirjoitettu sksn 2005 kurssille osittain Luukkaisen ja Nkäsen vanhojen luentokalvojen pohjalta. Maaliskuussa 2010 pseudokoodiesits on muutettu vastaamaan
LisätiedotTehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003
Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003 Matti Nykänen 5. joulukuuta 2003 1 Satelliitit Muunnetaan luennoilla luonnosteltua toteutusta seuraavaksi: Korvataan puusolmun p kentät p. key ja
LisätiedotA274101 TIETORAKENTEET JA ALGORITMIT
A274101 TIETORAKENTEET JA ALGORITMIT PUURAKENTEET, BINÄÄRIPUU, TASAPAINOTETUT PUUT MIKÄ ON PUUTIETORAKENNE? Esim. Viereinen kuva esittää erästä puuta. Tietojenkäsittelytieteessä puut kasvavat alaspäin.
LisätiedotKoe ma 1.3 klo 16-19 salissa A111, koeaika kuten tavallista 2h 30min
Koe Koe ma 1.3 klo 16-19 salissa A111, koeaika kuten tavallista 2h 30min Kokeessa saa olla mukana A4:n kokoinen kaksipuolinen käsiten tehty, itse kirjoitettu lunttilappu 1 Tärkeää ja vähemmäntärkeää Ensimmäisen
LisätiedotAlgoritmit 2. Luento 7 Ti Timo Männikkö
Algoritmit 2 Luento 7 Ti 4.4.2017 Timo Männikkö Luento 7 Joukot Joukko-operaatioita Joukkojen esitystapoja Alkiovieraat osajoukot Toteutus puurakenteena Algoritmit 2 Kevät 2017 Luento 7 Ti 4.4.2017 2/26
Lisätiedot58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut
Tietorakenteet ja algoritmit (syksy 0) Toinen välikoe, malliratkaisut. (a) Alussa puu näyttää tältä: Lisätään 4: 4 Tasapaino rikkoutuu solmussa. Tehdään kaksoiskierto ensin oikealle solmusta ja sitten
LisätiedotAlgoritmit 2. Luento 6 Ke Timo Männikkö
Algoritmit 2 Luento 6 Ke 29.3.2017 Timo Männikkö Luento 6 B-puun operaatiot B-puun muunnelmia Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2017 Luento 6 Ke 29.3.2017 2/31 B-puu
Lisätiedot58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)
58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen) 1. Avaimet 1, 2, 3 ja 4 mahtuvat samaan lehtisolmuun. Tässä tapauksessa puussa on vain yksi solmu, joka on samaan aikaan juurisolmu
Lisätiedot5. Keko. Tietorakenne keko eli kasa (heap) on tehokas toteutus abstraktille tietotyypille prioriteettijono, jonka operaatiot ovat seuraavat:
5. Keko Tietorakenne keko eli kasa (heap) on tehokas toteutus abstraktille tietotyypille prioriteettijono, jonka operaatiot ovat seuraavat: Insert(S, x): lisää avaimen x prioriteettijonoon S Maximum(S):
LisätiedotTarkennamme geneeristä painamiskorotusalgoritmia
Korotus-eteen-algoritmi (relabel-to-front) Tarkennamme geneeristä painamiskorotusalgoritmia kiinnittämällä tarkasti, missä järjestyksessä Push- ja Raise-operaatioita suoritetaan. Algoritmin peruskomponentiksi
LisätiedotFibonacci-kasoilla voidaan toteuttaa samat operaatiot kuin binomikasoilla.
4.2 Fibonacci-kasat Fibonacci-kasoilla voidaan toteuttaa samat operaatiot kuin binomikasoilla. Pääsiallinen ero on, että paljon Decrease-Key-operaatioita sisältävät jonot nopeutuvat. Primin algoritmi pienimmälle
Lisätiedot58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia
58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, 10..2014, vastauksia 1. [9 pistettä] (a) Todistetaan 2n 2 + n + 5 = O(n 2 ): Kun n 1 on 2n 2 + n + 5 2n 2 + n 2 +5n 2 = 8n 2. Eli
Lisätiedotlähtokohta: kahden O(h) korkuisen keon yhdistäminen uudella juurella vie O(h) operaatiota vrt. RemoveMinElem() keossa
Kekolajittelu Prioriteettijonolla toteutettu keko InsertItem ja RemoveMinElem: O(log(n)) Lajittelu prioriteettijonolla: PriorityQueueSort(lajiteltava sekvenssi S) alusta prioriteettijono P while S.IsEmpty()
Lisätiedot58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe malliratkaisut ja arvosteluperusteet
58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe 15.6.2018 malliratkaisut ja arvosteluperusteet 1. [10 pistettä] Hakemistorakenteet. Vertaa linkitettyjen listojen, tasapainoisten hakupuiden ja
LisätiedotAlgoritmit 1. Luento 8 Ke Timo Männikkö
Algoritmit 1 Luento 8 Ke 1.2.2017 Timo Männikkö Luento 8 Järjestetty binääripuu Solmujen läpikäynti Binääripuun korkeus Binääripuun tasapainottaminen Graafit ja verkot Verkon lyhimmät polut Fordin ja Fulkersonin
LisätiedotAlgoritmit 2. Luento 6 To Timo Männikkö
Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100
Lisätiedot811312A Tietorakenteet ja algoritmit II Perustietorakenteet
811312A Tietorakenteet ja algoritmit 2017-2018 II Perustietorakenteet Sisältö 1. Johdanto 2. Pino 3. Jono 4. Lista 811312A TRA, Perustietorakenteet 2 II.1. Johdanto Tietorakenne on tapa, jolla algoritmi
LisätiedotAlgoritmien suunnittelu ja analyysi (kevät 2004) 1. välikoe, ratkaisuja
58053-7 Algoritmien suunnittelu ja analyysi (kevät 2004) 1. välikoe, ratkaisuja Malliratkaisut ja pisteytysohje: Jyrki Kivinen Tentin arvostelu: Jouni Siren (tehtävät 1 ja 2) ja Jyrki Kivinen (tehtävät
Lisätiedot1 Puu, Keko ja Prioriteettijono
TIE-20100 Tietorakenteet ja algoritmit 1 1 Puu, Keko ja Prioriteettijono Tässä luvussa käsitellään algoritmien suunnitteluperiaatetta muunna ja hallitse (transform and conquer) Lisäksi esitellään binääripuun
LisätiedotKierros 4: Binäärihakupuut
Kierros 4: Binäärihakupuut Tommi Junttila Aalto University School of Science Department of Computer Science CS-A1140 Data Structures and Algorithms Autumn 2017 Tommi Junttila (Aalto University) Kierros
Lisätiedot811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu
1312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 5, Ratkaisu Harjoituksen aihe ovat hash-taulukot ja binääriset etsintäpuut Tehtävä 5.1 Tallenna avaimet 10,22,31,4,15,28,17 ja 59 hash-taulukkoon,
Lisätiedotf(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))
Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia
Lisätiedot811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu
1312A Tietorakenteet ja algoritmit, 2016-2017, Harjoitus 5, Ratkaisu Harjoituksen aihe ovat hash-taulukot ja binääriset etsintäpuut Tehtävä 5.1 Tallenna avaimet 10,22,31,4,15,28,17 ja 59 hash-taulukkoon,
LisätiedotOlkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,
Tehtävä 1 : 1 a) Olkoon G heikosti yhtenäinen suunnattu verkko, jossa on yhteensä n solmua. Määritelmän nojalla verkko G S on yhtenäinen, jolloin verkoksi T voidaan valita jokin verkon G S virittävä alipuu.
Lisätiedot811312A Tietorakenteet ja algoritmit V Hash-taulukot ja binääriset etsintäpuut
811312A Tietorakenteet ja algoritmit 2018-2019 V Hash-taulukot ja binääriset etsintäpuut Sisältö 1. Hash-taulukot 2. Binääriset etsintäpuut 811312A TRA, Hash-taulukot, binääripuut 2 V.1 Hash-taulukot Käytetään
LisätiedotAlgoritmit 1. Luento 4 Ke Timo Männikkö
Algoritmit 1 Luento 4 Ke 18.1.2017 Timo Männikkö Luento 4 Tietorakenteet Pino Pinon toteutus Jono Jonon toteutus Lista Listaoperaatiot Algoritmit 1 Kevät 2017 Luento 4 Ke 18.1.2017 2/29 Pino Pino, stack,
LisätiedotCS-A1140 Tietorakenteet ja algoritmit
CS-A1140 Tietorakenteet ja algoritmit Kierros 4: Binäärihakupuut Tommi Junttila Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Syksy 2016 Sisältö Binäärihakupuut Avainten lisääminen,
Lisätiedot2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti.
Tietorakenteet, laskuharjoitus 11, ratkaisuja 1. Leveyssuuntaisen läpikäynnin voi toteuttaa rekursiivisesti käsittelemällä jokaisella rekursiivisella kutsulla kaikki tietyllä tasolla olevat solmut. Rekursiivinen
Lisätiedot14 Tasapainotetut puurakenteet
TIE-20100 Tietorakenteet ja algoritmit 308 14 Tasapainotetut puurakenteet Binäärihakupuu toteuttaa kaikki dynaamisen joukon operaatiot O(h) ajassa Kääntöpuolena on, että puu voi joskus litistyä listaksi,
LisätiedotAlgoritmit 1. Luento 12 Ke Timo Männikkö
Algoritmit 1 Luento 12 Ke 15.2.2017 Timo Männikkö Luento 12 Pikalajittelu Pikalajittelun vaativuus Osittamisen tasapainoisuus Lajittelumenetelmien vaativuus Laskentalajittelu Lokerolajittelu Kantalukulajittelu
LisätiedotTIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 2. helmikuuta 2012
TIEA241 Automaatit ja, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 2. helmikuuta 2012 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti lueteltava
Lisätiedot1.1 Tavallinen binäärihakupuu
TIE-20100 Tietorakenteet ja algoritmit 1 1 Puurakenteet http://imgur.com/l77fy5x Tässä luvussa käsitellään erilaisia yleisiä puurakenteita. ensin käsitellään tavallinen binäärihakupuu sitten tutustutaan
LisätiedotEnsimmäinen induktioperiaate
Ensimmäinen induktioperiaate Olkoon P(n) luonnollisilla luvuilla määritelty predikaatti. (P(n) voidaan lukea luvulla n on ominaisuus P.) Todistettava, että P(n) on tosi jokaisella n N. ( Kaikilla luonnollisilla
Lisätiedot58131 Tietorakenteet (kevät 2009) Harjoitus 9, ratkaisuja (Antti Laaksonen)
58131 Tietorakenteet (kevät 2009) Harjoitus 9, ratkaisuja (Antti Laaksonen) 1. Lisäysjärjestämisessä järjestetään ensin taulukon kaksi ensimmäistä lukua, sitten kolme ensimmäistä lukua, sitten neljä ensimmäistä
LisätiedotEnsimmäinen induktioperiaate
1 Ensimmäinen induktioperiaate Olkoon P(n) luonnollisilla luvuilla määritelty predikaatti. (P(n) voidaan lukea luvulla n on ominaisuus P.) Todistettava, että P(n) on tosi jokaisella n N. ( Kaikilla luonnollisilla
LisätiedotValitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.
Vaihto-ominaisuudella on seuraava intuition kannalta keskeinen seuraus: Olkoot A I ja B I samankokoisia riippumattomia joukkoja: A = B = m jollain m > 0. Olkoon vielä n = m A B, jolloin A B = B A = n.
LisätiedotAlgoritmit 2. Luento 3 Ti Timo Männikkö
Algoritmit 2 Luento 3 Ti 21.3.2017 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2017 Luento 3 Ti 21.3.2017
Lisätiedot811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta
811312A Tietorakenteet ja algoritmit 2017-2018 Kertausta kurssin alkuosasta II Perustietorakenteet Pino, jono ja listat tunnettava Osattava soveltaa rakenteita algoritmeissa Osattava päätellä operaatioiden
LisätiedotAlgoritmit 2. Luento 3 Ti Timo Männikkö
Algoritmit 2 Luento 3 Ti 20.3.2018 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2018 Luento 3 Ti 20.3.2018
Lisätiedot7. Tasapainoitetut hakupuut
7. Tasapainoitetut hakupuut Tässä luvussa jatketaan järjestetyn sanakirjan tarkastelua esittämällä kehittynyt puutietorakenne. Luvussa 7.1. esitetään monitiehakupuun käsite. Se on järjestetty puu, jonka
LisätiedotALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012
ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012 1.1. (a) Jaettava m, jakaja n. Vähennetään luku n luvusta m niin kauan kuin m pysyy ei-negatiivisena. Jos jäljelle jää nolla, jaettava oli tasan jaollinen. int m,
LisätiedotTehtävä 4 : 2. b a+1 (mod 3)
Tehtävä 4 : 1 Olkoon G sellainen verkko, jonka solmujoukkona on {1,..., 9} ja jonka särmät määräytyvät oheisen kuvan mukaisesti. Merkitään lisäksi kirjaimella A verkon G kaikkien automorfismien joukkoa,
LisätiedotAlgoritmit 1. Luento 12 Ti Timo Männikkö
Algoritmit 1 Luento 12 Ti 19.2.2019 Timo Männikkö Luento 12 Osittamisen tasapainoisuus Pikalajittelun vaativuus Lajittelumenetelmien vaativuus Laskentalajittelu Lokerolajittelu Kantalukulajittelu Algoritmit
LisätiedotT Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )
T-79144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet 11-22) 26 29102004 1 Ilmaise seuraavat lauseet predikaattilogiikalla: a) Jokin porteista on viallinen
Lisätiedot6. Hakupuut. Hakupuu (engl. search tree) on listaa huomattavasti edistyneempi tapa toteuttaa abstrakti tietotyyppi joukko
6. Hakupuut Hakupuu (engl. search tree) on listaa huomattavasti edistyneempi tapa toteuttaa abstrakti tietotyyppi joukko Puurakenteelle on tietojenkäsittelyssä myös muuta käyttöä, esim. algoritmin suoritusajan
Lisätiedot811312A Tietorakenteet ja algoritmit 2015-2016. V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit
811312A Tietorakenteet ja algoritmit 2015-2016 V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit Sisältö 1. Johdanto 2. Leveyshaku 3. Syvyyshaku 4. Kruskalin algoritmi 5. Dijkstran algoritmi
Lisätiedot1.1 Pino (stack) Koodiluonnos. Graafinen esitys ...
1. Tietorakenteet Tietorakenteet organisoivat samankaltaisten olioiden muodostaman tietojoukon. Tämä järjestys voidaan saada aikaan monin tavoin, esim. Keräämällä oliot taulukkoon. Liittämällä olioihin
Lisätiedot811312A Tietorakenteet ja algoritmit III Lajittelualgoritmeista
811312A Tietorakenteet ja algoritmit 2016-2017 III Lajittelualgoritmeista Sisältö 1. Johdanto 2. Pikalajittelu 3. Kekolajittelu 4. Lajittelualgoritmien suorituskyvyn rajoista 811312A TRA, Lajittelualgoritmeista
Lisätiedot1.4 Funktioiden kertaluokat
1.4 Funktioiden kertaluokat f on kertaluokkaa O(g), merk. f = O(g), jos joillain c > 0, m N pätee f(n) cg(n) aina kun n m f on samaa kertaluokkaa kuin g, merk. f = Θ(g), jos joillain a, b > 0, m N pätee
LisätiedotInduktiota käyttäen voidaan todistaa luonnollisia lukuja koskevia väitteitä, jotka ovat muotoa. väite P(n) on totta kaikille n = 0,1,2,...
Induktiotodistus Induktiota käyttäen voidaan todistaa luonnollisia lukuja koskevia väitteitä, jotka ovat muotoa väite P(n) on totta kaikille n = 0,1,2,.... Tässä väite P(n) riippuu n:n arvosta. Todistuksessa
Lisätiedot811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta
811312A Tietorakenteet ja algoritmit 2016-2017 Kertausta jälkiosasta IV Perustietorakenteet Pino, jono ja listat tunnettava Osattava soveltaa rakenteita algoritmeissa Osattava päätellä operaatioiden aikakompleksisuus
LisätiedotKoe ma 28.2 klo salissa A111, koeaika kuten tavallista 2h 30min
Koe Koe ma 28.2 klo 16.00-19 salissa A111, koeaika kuten tavallista 2h 30min Kokeessa saa olla mukana A4:n kokoinen kaksipuolinen käsin tehty, itse kirjoitettu lunttilappu Neuvontapaja (Joel ja Nyman)
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla
Lisätiedotverkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari
Tehtävä 9 : 1 Merkitään kirjaimella G tehtäväpaperin kuvan vasemmanpuoleista verkkoa sekä kirjaimella H tehtäväpaperin kuvan oikeanpuoleista verkkoa. Kuvan perusteella voidaan havaita, että verkko G on
LisätiedotAlgoritmit 2. Luento 10 To Timo Männikkö
Algoritmit 2 Luento 10 To 19.4.2018 Timo Männikkö Luento 10 Peruutusmenetelmä Osajoukon summa Verkon 3-väritys Pelipuut Pelipuun läpikäynti Algoritmit 2 Kevät 2018 Luento 10 To 19.4.2018 2/34 Algoritmien
LisätiedotTIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 9. lokakuuta 2016
TIEA241 Automaatit ja, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 9. lokakuuta 2016 Sisällys Kontekstiton kielioppi Kontekstiton kielioppi koostuu joukosta päätemerkkejä (engl. terminal symbols),
Lisätiedot(p j b (i, j) + p i b (j, i)) (p j b (i, j) + p i (1 b (i, j)) p i. tähän. Palaamme sanakirjaongelmaan vielä tasoitetun analyysin yhteydessä.
Loppu seuraa suoralla laskulla: n n Tave TR = p j (1 + b (i, j)) j=1 = 1 + 1 i
LisätiedotAlgoritmit 2. Luento 9 Ti Timo Männikkö
Algoritmit 2 Luento 9 Ti 17.4.2018 Timo Männikkö Luento 9 Merkkitiedon tiivistäminen Huffmanin koodi LZW-menetelmä Taulukointi Editointietäisyys Algoritmit 2 Kevät 2018 Luento 9 Ti 17.4.2018 2/29 Merkkitiedon
LisätiedotAlgoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö
Algoritmit 1 Luento 13 Ti 23.2.2016 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin
Lisätiedot2 Sanoja järjestävän funktion ohjelmoiminen
1 Tämän dokumentin tarkoitus Tämä dokumentti ei kuulu millään tavoin tenttialueeseen, enkä ota vastuuta sen lukemisen aiheuttamista vahingoista. Tässä dokumentissa esitetään esimerkin kautta, miten matematiikan
LisätiedotA TIETORAKENTEET JA ALGORITMIT KORVAAVAT HARJOITUSTEHTÄVÄT 3, DEADLINE KLO 12:00
A274101 TIETORAKENTEET JA ALGORITMIT KORVAAVAT HARJOITUSTEHTÄVÄT 3, DEADLINE 9.2.2005 KLO 12:00 PISTETILANNE: www.kyamk.fi/~atesa/tirak/harjoituspisteet-2005.pdf Kynätehtävät palautetaan kirjallisesti
LisätiedotAlgoritmit 1. Luento 13 Ma Timo Männikkö
Algoritmit 1 Luento 13 Ma 26.2.2018 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin
LisätiedotLuku 4. Tietorakenteet funktio-ohjelmoinnissa. 4.1 Äärelliset kuvaukset
Luku 4 Tietorakenteet funktio-ohjelmoinnissa Koska funktio-ohjelmoinnissa ei käytetä tuhoavaa päivitystä (sijoituslausetta ja sen johdannaisia), eivät läheskään kaikki valtavirtaohjelmoinnista tutut tietorakenteet
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Keskeneräinen luento 3: Listat (mm. SICP 22.2.3) Riku Saikkonen 31. 10. 2011 Sisältö 1 Linkitetyt listat 2 Linkitetyt listat (SICP 2.1.1, 2.2.1) funktionaalinen
LisätiedotAlgoritmit 2. Luento 11 Ti Timo Männikkö
Algoritmit 2 Luento 11 Ti 25.4.2017 Timo Männikkö Luento 11 Peruutusmenetelmä Osajoukon summa Pelipuut Pelipuun läpikäynti Rajoitehaku Kapsäkkiongelma Algoritmit 2 Kevät 2017 Luento 11 Ti 25.4.2017 2/29
Lisätiedot811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu
832A Tietorakenteet ja algoritmit, 204-205, Harjoitus 7, ratkaisu Hajota ja hallitse-menetelmä: Tehtävä 7.. Muodosta hajota ja hallitse-menetelmää käyttäen algoritmi TULOSTA_PUU_LASKEVA, joka tulostaa
Lisätiedot58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia
58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, 652013, vastauksia 1 [6 pistettä] Vastaa jokaisesta alla olevasta väittämästä onko se tosi vai epätosi ja anna lyhyt perustelu Jokaisesta kohdasta
Lisätiedotja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2
Johdatus diskreettiin matematiikkaan Harjoitus 4, 7.10.2015 1. Olkoot c 0, c 1 R siten, että polynomilla r 2 c 1 r c 0 on kaksinkertainen juuri. Määritä rekursioyhtälön x n+2 = c 1 x n+1 + c 0 x n, n N,
LisätiedotTietorakenteet ja algoritmit Hakurakenteet Ari Korhonen
Tietorakenteet ja algoritmit Hakurakenteet Ari Korhonen 27.10. & 3.11.2015 Tietorakenteet ja algoritmit - syksy 2015 1 8. HAKURAKENTEET (dictionaries) 8.1 Haku (vrt. sanakirjahaku) 8.2 Listat tallennusrakenteina
LisätiedotMatemaattisten työvälineiden täydentäviä muistiinpanoja
Matemaattisten työvälineiden täydentäviä muistiinpanoja Antti-Juhani Kaijanaho 7 maaliskuuta 0 Deduktiivinen ja induktiivinen päättely Deduktiivisessa päättelyssä johtopäätös seuraa aukottomasti premisseistä
LisätiedotPienin virittävä puu (minimum spanning tree)
Pienin virittävä puu (minimum spanning tree) Jatkossa puu tarkoittaa vapaata puuta (ks. s. 11) eli suuntaamatonta verkkoa, joka on yhtenäinen: minkä tahansa kahden solmun välillä on polku syklitön: minkä
LisätiedotPaikkatiedon hallinta ja analyysi 4. Paikkatiedon indeksointi (jatkoa)
HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Paikkatiedon hallinta ja analyysi 4. Paikkatiedon indeksointi (jatkoa) Antti Leino 4. huhtikuuta 2005 Tietojenkäsittelytieteen
LisätiedotA ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.
Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =
LisätiedotStabiloivat synkronoijat ja nimeäminen
Stabiloivat synkronoijat ja nimeäminen Mikko Ajoviita 2.11.2007 Synkronoija Synkronoija on algoritmi, joka muuntaa synkronoidun algoritmin siten, että se voidaan suorittaa synkronoimattomassa järjestelmässä.
Lisätiedot