811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Samankaltaiset tiedostot
811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu

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

811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu

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

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

811312A Tietorakenteet ja algoritmit II Perustietorakenteet

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

Algoritmit 1. Luento 8 Ke Timo Männikkö

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

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

Algoritmit 1. Luento 9 Ti Timo Männikkö

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

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

Algoritmit 2. Luento 7 Ti Timo Männikkö

13 Lyhimmät painotetut polut

811312A Tietorakenteet ja algoritmit IV Perustietorakenteet

Algoritmit 1. Luento 13 Ma 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.

Algoritmi on periaatteellisella tasolla seuraava:

58131 Tietorakenteet Erilliskoe , ratkaisuja (Jyrki Kivinen)

Algoritmit 1. Luento 13 Ti Timo Männikkö

10. Painotetut graafit

Algoritmit 1. Luento 14 Ke Timo Männikkö

Tietorakenteet, laskuharjoitus 7, ratkaisuja

4. Joukkojen käsittely

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

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

Algoritmit 1. Luento 6 Ke Timo Männikkö

10. Painotetut graafit

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

Johdatus graafiteoriaan

Algoritmit 2. Luento 2 To 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.

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

2. Perustietorakenteet

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Algoritmit 2. Luento 4 To Timo Männikkö

4. Perustietorakenteet

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

Algoritmit 2. Luento 2 Ke Timo Männikkö

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

Algoritmit 2. Luento 4 Ke Timo Männikkö

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe malliratkaisut ja arvosteluperusteet

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

Algoritmit 1. Luento 7 Ti Timo Männikkö

5 Verkkoalgoritmeja. 5.1 Verkkojen esitystapoja

6 Verkkoalgoritmeja. 6.1 Verkkojen esitystapoja

A TIETORAKENTEET JA ALGORITMIT

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

Johdatus verkkoteoriaan 4. luento

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

Englannin lausekerakenteita ja taulukkojäsentäminen

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

A TIETORAKENTEET JA ALGORITMIT

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

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

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

Algoritmit 2. Luento 11 Ti Timo Männikkö

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 2. Luento 5 Ti Timo Männikkö

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

Algoritmit 1. Luento 4 Ke Timo Männikkö

Tietorakenteet ja algoritmit - syksy

Diskreetit rakenteet

Algoritmit 2. Luento 6 Ke Timo Männikkö

Tietorakenteet ja algoritmit

Algoritmit 2. Luento 5 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.

Datatähti 2019 loppu

Algoritmit 2. Luento 14 Ke 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)

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Algoritmit 2. Luento 6 To Timo Männikkö

v 8 v 9 v 5 C v 3 v 4

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

TIE Tietorakenteet ja algoritmit 261

A TIETORAKENTEET JA ALGORITMIT

58131 Tietorakenteet (kevät 2008) 1. kurssikoe, ratkaisuja

Pienin virittävä puu (minimum spanning tree)

Algoritmit 2. Luento 9 Ti Timo Männikkö

Lyhin kahden solmun välinen polku

Johdatus graafiteoriaan

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

1.1 Pino (stack) Koodiluonnos. Graafinen esitys ...

811312A Tietorakenteet ja algoritmit, , Harjoitus 7, ratkaisu

18. Abstraktit tietotyypit 18.1

Tietorakenteet ja algoritmit. Kertaus. Ari Korhonen

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

A TIETORAKENTEET JA ALGORITMIT

Silmukkaoptimoinnista

Binäärihaun vertailujärjestys

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

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

Fibonacci-kasoilla voidaan toteuttaa samat operaatiot kuin binomikasoilla.

Algoritmit 1. Luento 10 Ke Timo Männikkö

(a) L on listan tunnussolmu, joten se ei voi olla null. Algoritmi lisäämiselle loppuun:

Transkriptio:

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 Hashtaulukot Tiedettävä mikä on tiivistefunktio Törmäysongelman hallinta: Tiedettävä mitä on ketjuttaminen, lineaarinen luotaus ja kaksoishashaus Osattava tallentaa arvoja tauluun annettua tiivistefunktiota käyttäen sekä lineaarisella luotauksella että kaksoishashauksella

Esimerkkitehtäviä (1) Olkoon L yhteen suuntaan linkitetty lista. Kirjoita algoritmi, joka kääntää listan L järjestyksen päinvastaiseksi, kun käytettävissä on pino S. Listan pää on L.head, sen solmussa x on linkki x.next seuraavaan solmuun listassa. Pinon S operaatiot ovat S.pop(), S.push(x) ja S.empty(), joka palauttaa arvon TRUE mikäli S on tyhjä ja arvon FALSE mikäli S ei ole tyhjä. 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) lineaarista luotausta.

IV Perustietorakenteet (2) Binääriset etsintäpuut Tiedettävä mitä tarkoittaa Osattava perusläpikäynnit, 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) Puna-mustat puut Osattava tunnistaa

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

V 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. äytä, miten algoritmin tuloksista voidaan lukea lyhin polku solmusta a solmuun g.

V 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

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ä? c b d a e g f

V Verkot (3) 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