811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Samankaltaiset tiedostot
811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa1 : Leveys- ja syvyyshaku

811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

811312A Tietorakenteet ja algoritmit V Hash-taulukot ja binääriset etsintäpuut

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

Algoritmi on periaatteellisella tasolla seuraava:

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen)

Algoritmit 1. Luento 8 Ke Timo Männikkö

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia

Algoritmit 1. Luento 13 Ma Timo Männikkö

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

5. Hash-taulut ja binääriset etsintäpuut

10. Painotetut graafit

10. Painotetut graafit

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe malliratkaisut ja arvosteluperusteet

Algoritmit 1. Luento 9 Ti Timo Männikkö

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

Johdatus graafiteoriaan

13 Lyhimmät painotetut polut

Algoritmit 1. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 4 To Timo Männikkö

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)

Johdatus verkkoteoriaan 4. luento

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Algoritmit 2. Luento 4 Ke Timo Männikkö

2. 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.

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

5 Verkkoalgoritmeja. 5.1 Verkkojen esitystapoja

6 Verkkoalgoritmeja. 6.1 Verkkojen esitystapoja

Eräs keskeinen algoritmien suunnittelutekniikka on. Palauta ongelma johonkin tunnettuun verkko-ongelmaan.

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Algoritmit 1. Luento 14 Ke Timo Männikkö

Ratkaisu. Tulkitaan de Bruijnin jonon etsimiseksi aakkostossa S := {0, 1} sanapituudelle n = 4. Neljän pituisia sanoja on N = 2 n = 16 kpl.

14. Luennon sisältö. Kuljetustehtävä. Verkkoteoria ja optimointi. esimerkki. verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut

58131 Tietorakenteet Erilliskoe , ratkaisuja (Jyrki Kivinen)

Diskreetit rakenteet

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut

Lyhin kahden solmun välinen polku

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

A TIETORAKENTEET JA ALGORITMIT

v 8 v 9 v 5 C v 3 v 4

Pienin virittävä puu (minimum spanning tree)

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

Datatähti 2019 loppu

Algoritmit 2. Luento 14 Ke Timo Männikkö

Algoritmit 1. Luento 7 Ti Timo Männikkö

v 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.

Johdatus graafiteoriaan

811312A Tietorakenteet ja algoritmit IV Perustietorakenteet

Englannin lausekerakenteita ja taulukkojäsentäminen

4. Joukkojen käsittely

Stabilointi. Marja Hassinen. p.1/48

Luku 8. Aluekyselyt. 8.1 Summataulukko

4. Perustietorakenteet

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

811312A Tietorakenteet ja algoritmit, , Harjoitus 7, ratkaisu

Oikeasta tosi-epätosi -väittämästä saa pisteen, ja hyvästä perustelusta toisen.

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Algoritmit 2. Luento 7 Ti Timo Männikkö

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

Algoritmit 1. Luento 1 Ti Timo Männikkö

j(j 1) = n(n2 1) 3 + (k + 1)k = (k + 1)(k2 k + 3k) 3 = (k + 1)(k2 + 2k + 1 1)

TIE Tietorakenteet ja algoritmit 261

T : Max-flow / min-cut -ongelmat

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)

Koe ma 1.3 klo salissa A111, koeaika kuten tavallista 2h 30min

Kognitiivinen mallintaminen 1

A TIETORAKENTEET JA ALGORITMIT

Harjoitus 1 ( )

A TIETORAKENTEET JA ALGORITMIT

Algoritmit 2. Luento 6 Ke Timo Männikkö

Tietorakenteet ja algoritmit - syksy

Tietorakenteet ja algoritmit. Kertaus. Ari Korhonen

Algoritmit 2. Luento 11 Ti Timo Männikkö

Malliratkaisut Demot

Silmukkaoptimoinnista

Harjoitus 1 ( )

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

9. Graafit Graafin abstrakti tietotyyppi

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen

Algoritmit 2. Luento 2 Ke Timo Männikkö

Algoritmit 1. Luento 6 Ke Timo Männikkö

3. Hakupuut. B-puu on hakupuun laji, joka sopii mm. tietokantasovelluksiin, joissa rakenne on talletettu kiintolevylle eikä keskusmuistiin.

Algoritmit 2. Luento 5 Ti Timo Männikkö

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 2 To Timo Männikkö

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003

Malliratkaisut Demot

Algoritmit 2. Demot Timo Männikkö

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.

Stabilointi. arvosana. arvostelija. Marja Hassinen

Transkriptio:

811312A Tietorakenteet ja algoritmit 2018-2019 Kertausta jälkiosasta

V Hashtaulukot ja binääriset etsintäpuut Hashtaulukot Perusajatus tunnettava Tiedettävä mikä on tiivistefunktio Törmäysongelman hallinta: Tiedettävä mitä on ketjuttaminen, lineaarinen luotaus ja kaksoishashaus Käsite avoin osoittaminen tunnettava Osattava tallentaa arvoja tauluun annettua tiivistefunktiota käyttäen sekä lineaarisella luotauksella että kaksoishashauksella

Esimerkkitehtäviä (1) Tallenna avaimet 10,22,31,4,15,28 ja 17 hashtaulukkoon, jonka koko on 13, kun tiivistefunktio on f k = k(mod 13) ja törmäyksien hallintaan käytetään a) ketjutusta, b) avointa osoittamista ja lineaarista luotausta, c) avointa osoittamista ja kaksoishashausta, missä toisena funktiona on g(k) = 1+k (mod 12).

V Hashtaulukot ja binääriset etsintäpuut (2) Binääriset etsintäpuut Tiedettävä mitä tarkoittaa Osattava perusläpikäynti, minimin ja maksimin hakeminen puusta Osattava kuviosta näyttää vaiheittain, miten avain lisätään ja poistetaan Operaatioiden kompleksisuus (yleensä O(h), missä h puun korkeus)

Esimerkkitehtäviä (2) Lisää alla olevaan binääriseen etsintäpuuhun ensin avain 55 ja poista sitten avaimet 70 ja 35. Esitä operaatiot graafisesti ja kuvaa niiden vaiheet. 60 35 70 25 45 85 39 50 78 94 42

VI Verkot Tiedettävä mikä verkko on Ymmärrettävä esitystavat Matriisiesitys Vieruslistaesitys Leveyshaku: tiedettävä että hakee lyhimmät polut annetusta lähtösolmusta Osattava suorittaa annetulle verkolle Osattava soveltaa yksinkertaiseen ongelmaan Jos algoritmi annettu, osattava perustella kompleksisuus

Esimerkkitehtäviä (3) Suorita leveyshaku seuraavalle suuntaamattomalle verkolle lähtien solmusta a. Kirjoita näkyviin algoritmissa käytetyn jonon ja kolmen taulukon sisältö kussakin algoritmin vaiheessa. Näytä, miten algoritmin tuloksista voidaan lukea lyhin polku solmusta a solmuun g.

VI Verkot (2) Syvyyshaku Tunnettava algoritmin toimintaperiaate (mennään verkossa niin syvälle kuin päästään, peräännytään sitten ja jatketaan kunnes verkko käyty läpi) Osattava suorittaa annetulle verkolle ja luokitella verkon välit (puuvälit, etenevät ja takautuvat välit sekä sivuttaisvälit) Takautuvasta välistä seuraa, että verkossa sykli Jos algoritmi annettu, osattava perustella kompleksisuus Sovelluksia: Vahvasti yhtenäiset komponentit

Esimerkkitehtäviä (4) Suorita syvyyshaku seuraavalle suunnatulle verkolle ja luokittele verkon välit puuväleihin, eteneviin väleihin, takautuviin väleihin ja poikittaisväleihin. Voidaanko algoritmin suorituksen aikana havaita verkossa sykliä? a f b e c g d

Verkot (3): Kruskal ja Dijkstra Kruskalin algoritmi: Minimivirittävä puu yhtenäiselle painotetulle suuntaamattomalle verkolle Tiedettävä, mikä on minimivirittävä puu Osattava suorittaa annetulle verkolle Osattava soveltaa yksinkertaiseen ongelmaan Dijkstran algoritmi: Lyhimmät polut annetusta lähtösolmusta painotetussa verkossa Osattava suorittaa annetulle verkolle, kun algoritmi pseudokoodina annettu Osattava soveltaa yksinkertaiseen ongelmaan

Esimerkkitehtäviä (5) Muodosta minimivirittävä puu seuraavan kuvion painotetulle verkolle käyttäen Kruskalin algoritmia. Merkitse algoritmin olennaiset vaiheet näkyviin. a 5 b 4 c 2 4 8 1 7 d 4 7 e f