PN-puu. Helsinki Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
|
|
- Hanna Rantanen
- 6 vuotta sitten
- Katselukertoja:
Transkriptio
1 PN-puu Erno Härkönen Helsinki Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
2 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos Institution Department Matemaattis-luonnontieteellinen Tekijä Författare Author Erno Härkönen Työn nimi Arbetets titel Title Tietojenkäsittelytieteen laitos PN-puu Oppiaine Läroämne Subject Tietojenkäsittelytiede Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages Seminaari sivua Tiivistelmä Referat Abstract Moniulotteisia hakemistoja käytetään nopeuttamaan hakuja tietokannoista, joissa tietueet pitää indeksoida useamman attribuutin mukaan. PN-puu on yksi tällainen moniulotteinen hakemisto. PN-puu kasaa avaruudessa lähekkäin olevat olevat pisteet samalle levyn sivulle, jotta ne löytyvät tehokkaasti hakuja toteutettaessa. PN-puun käyttämät algoritmit voidaan helposti jakaa rinnakkain suoritettaviin osatehtäviin. ACM Computing Classification System (CCS): E.1 [Data structures] H.2.8 [Database applications] Avainsanat Nyckelord Keywords PN-puu, moniulotteiset hakemistot Säilytyspaikka Förvaringsställe Where deposited Muita tietoja övriga uppgifter Additional information
3 Sisältö ii 1 Johdanto 1 2 Moniulotteiset hakemistot 2 3 PN-puu Lisäysalgoritmi Hakualgoritmi Poistoalgoritmi PN-puun toteutus Projektioiden tallentaminen Lähimmän naapurin etsintä Yhteenveto 11 Lähteet 11
4 1 Johdanto 1 Hakemistoja käytetään mm. nopeuttamaan hakuja aineistosta ja vähentämään levylle kohdistuvia operaatioita. B+-puu on yksi tällainen yleisesti käytetty tietokantojen hakemistorakenne. Hakemisto muodostetaan tietyn attribuutin mukaan ja järjestyksessä peräkkäiset tietueet löytyvät levyltä lähekkäin. Maantieteellistä paikkatietoa sisältävät tietokannat ovat esimerkki tapauksista, joissa tietueet tulisi indeksoida usean attribuutin mukaan [GG98]. Paikkatietokannat ovat usein hyvin laajoja ja siksi ne joudutaan säilyttämään massamuistin puolella. Hakemistojen tulisi toimia tehokkaasti myös silloin, kun aineisto muuttuu lisäyksillä ja poistoilla usein. Perinteiset yksiulotteiset hakemistot eivät ole tehokkaita moniulotteisten hakujen suorittamiseen, joissa yksi tietue tarvitsee indeksoida usean attribuutin perusteella. Tämä johtuu siitä, että ei ole olemassa täydellistä kuvausta useampi ulotteisesta avaruudesta yksiulotteiseen avaruuteen, joka säilyttäisi lähekkäin avaruuden etäisyyden perusteella lähekkäin olevat oliot. Hakuoperaatiot tarvitsevat nopean yhteyden tietyn avaruuden tilan dataolioihin. Levyhakujen nopeus on usein merkittävässä roolissa tällaisten kyselyjen suorittamisessa [GG98]. Ideaalissa tilanteessa vain ne levyn sivut, jotka kuuluvat tietokantaan kohdistuvan kyselyn vastaukseen tulisi hakea. Avaruuden etäisyyden perusteella lähekkäin sijaitsevat oliot tulisi tallentaa samalle levyn sivulle, jotta ne voitaisiin tehokkaasti hakea [ASI05]. Luvussa 2 käsitellään moniulotteisia hakemistoja. Tämän jälkeen esitellään luvussa 3 moniulotteinen hakemisto PN-puu ja sen käsittelyyn tarvittavat algoritmit. Luvussa 4 käydään läpi PN-puun tarvitsemat tietorakenteet.
5 2 Moniulotteiset hakemistot 2 Moniulotteiset hakemistot ovat tarkoitettu tietueille, joilla on useita attribuutteja, joiden mukaan tietueet halutaan indeksoida [ASI05]. Tällaisesta hakemistosta täytyisi pystyä hakemaan tietueita yhden tai useamman attribuutin perusteella. Hakemistojen ei myöskään tulisi suosia tiettyjä attribuutteja ellei tätä erikseen haluta. Moniulotteisella hakemistolla on yhtä monta ulottuvuutta kuin tietueella on attribuutteja. Tietyn pisteen koordinaattien arvot ovat suhteessa attribuuttien arvoihin. Moniulotteiset hakemistot voidaan jakaa kahteen luokkaan [GG98, ASI05]. Ensimmäisen luokan muodostavat hakemistot, jotka tallentavat vain yksittäisiä avaruuden pisteitä, joilla ei ole tilavuutta. Toisen luokan muodostavat hakemistot, joihin voidaan tallentaa tietyn avaruuden tilan käsittäviä olioita. Näitä olioita voivat olla viivat, monikulmiot tai muut tietyn avaruuden tilan rajaavat oliot. Tyypillisesti moniulotteiseen tietokantaan kohdistuvat haut muodostuvat pisteistä tai alueista. Haussa annettu piste voi olla kohta avaruudessa, jonka ympäristöstä etsitään olioita. Haussa annettu alue voi esim. rajata avaruuden osan, jonka sisältämät oliot halutaan löytää [GG98]. 3 PN-puu PN-puu (Projected Node tree) [ASI05] on tarkoitettu moniulotteisten pisteiden indeksointiin. Hakemisto pyrkii minimoimaan levylle kohdistuvia hakuja. PN-puu keskittyy hakuihin, joissa halutaan löytää ne tietueet, joiden attribuutit ovat halutulla etäisyydellä annetusta pisteestä. PN-puu tukee lisäyksiä ja poistoja, joita voidaan suorittaa hakujen välissä. PN-puu kasaa lähekkäiset pisteet yhdeksi solmuksi (node), joka tallennetaan yhdelle levyn sivulle. Solmun projektiot jokaiselle ulottuvuudelle tallennetaan omiksi
6 3 Kuva 1: Solmujen projektiot hakemistoiksi. PN-puu sisältää siis useita yksiulotteisia hakemistoja, joihin solmujen projektiot tallennetaan. Näiden lisäksi tarvitaan yksi moniulotteinen hakemisto, jonne tallennetaan jokaisen solmun keskipiste. Kuvassa 1 on esitetty kolme solmua ja näiden projektiot kahdelle ulottuvuudelle. Solmujen harmaa alue sisältää joukon solmuun kuuluvia pisteitä. Projektiot useammalle ulottuvuudelle suoritetaan vastaavalla tavalla. Koska jokainen ulottuvuus on tallennettu omaan yksiulotteiseen hakemistoon, voidaan haun suoritus jakaa rinnakkain suoritettaviin osiin helposti. Tällöin yksittäinen prosessori voi käsitellä yhden ulottuvuuden. Myös tuloksen hakeminen voidaan suorittaa rinnakkain, jos lähekkäin sijaitsevat solmut on tallennettu eri levyille. Solmujen keskipisteiden käsittelyyn käytetään neljää funktiota. Keskipisteet tallennetaan R-puuhun, ja haku R-puusta tapahtuu luvussa 4.2 kuvatulla tavalla. LisääKeskipiste(Solmu N, Piste C) lisää moniulotteiseen hakemistorakenteeseen uuden keskipisteen.
7 4 PoistaKeskipiste(Solmu N, Piste C) poistaa annetun pisteen hakemistosta. PäivitäKeskipiste(Solmu N, Piste vanhac, Piste uusic) korvaa vanhan keskipisteen uudella arvolla. HaeLähinNaapurisolmu(Piste P ) palauttaa solmun, jonka keskipiste on lähinnä annettua pistettä. Solmujen projektioiden käsittelyyn käytetään neljää funktiota. Jokainen projektio tallennetaan omaan B+-puuhun. Projektiota käsitellään luvussa 4.1. LisääProjektio(integer D, NodeId N, real alku, real loppu) lisää yhden projektion ulottuvuudelle D yksiulotteiseen hakemistoon. PoistaProjektio(integer D, NodeId N, real alku, real loppu) poistaa yhden projektion. PäivitäProjektio(integer D, NodeId N, real vanhaalku, real vanhaloppu, real uusialku, real uusiloppu) korvaa vanhat projektion alku- ja loppupisteet annetuilla uusilla arvoilla. HaeSolmutProjektioista(integer D, real alku, real loppu) palauttaa kaikki solmut, joiden projektiot ulottuvuudelle D ovat annetulla hakualueella. PN-puun tehokkuutta on verrattu hybridipuuhun [CM99], joka on tehokas moniulotteinen hakemistorakenne. PN-puun on osoitettu toimivan nopeammin suurilla aineistoilla ja suurilla etäisyyksillä hakupisteestä. 3.1 Lisäysalgoritmi Lisäysalgoritmi huolehtii, että lähekkäin sijaitsevat pisteet tallennetaan samaan solmuun. Tämä tapahtuu sijoittamalla lähekkäiset pisteet samaan solmuun ja jakamalla solmu ylivuodon tapahtuessa sopivalla tavalla.
8 5 Aluksi lisäysalgoritmissa etsitään solmu, jonka keskipiste on lähinnä lisättävää pistettä. Lähimmän keskipisteen hakuun käytetään moniulotteista hakemistoa, joka on esitelty luvussa 4.2. Haussa löydettyyn solmuun lisätään uusi piste. Jos löydettyyn solmuun ei enää mahdu uutta pistettä, tapahtuu solmun ylivuoto, ja solmu täytyy jakaa kahteen osaan. Muodostuneiden solmujen keskipisteet tulee tällöin laskea niiden sisältämistä pisteistä. Solmu jaetaan aina laajuudeltaan suurimman ulottuvuuden mukaan kahtia. Lisäksi katkaisukohtana käytettään solmun puoliväliä. Näin toimittaessa jako minimoi levyhakujen odotettua kestoa. Joissakin tilanteissa solmua ei voida jakaa tasan, jolloin toinen muodostuneista solmuista voi jäädä vajaaksi. Tällaiset tilanteet ovat kuitenkin harvinaisia ja ne eivät muodosta ongelmaa, jos sallitaan joidenkin solmujen täyttöasteen olla alle vaaditun. Lisätty solmu voi muuttaa solmun keskipistettä ja tämä täytyy laskea uudestaan. Jos solmu muodostaa uuden reunan projektioalueelle, täytyy solmun projektion rajoja päivittää. Algoritmi 1 kuvaa lisäysalgoritmin toimintaa. Algoritmi saa syötteenä lisättävän pisteen P. 3.2 Hakualgoritmi Hakualgoritmille annetaan parametrina yksi avaruuden piste ja etäisyys. Tällöin tulee löytää kaikki ne pisteet, jotka sijaitsevat annetun etäisyyden päässä halutusta pisteestä. Hakualgoritmi projisoi annetun haun jokaiselle ulottuvuudelle. Näin saatuja projektioita verrataan solmujen projektioihin ja ne solmut, jotka leikkaavat hakuprojektiota tallennetaan listoiksi. Jokaiselle ulottuvuudelle suoritetaan oma haku. Lopputulos muodostetaan näiden osatulosten leikkauksena. Leikkaus tapahtuu jakamalla listat
9 6 Algoritmi 1 LisääPiste(Piste P) N = HaeLähinNaapurisolmu(P) lisää P solmuun N if solmussa N tapahtuu ylivuoto then jaa N solmuiksi N1 ja N2 PoistaKeskipiste(N, N.Keskipiste) LisääKeskipiste(N1, Keskipiste(N1)) LisääKeskipiste(N2, Keskipiste(N2)) stop PäivitäKeskipiste(N, N.Keskipiste, Keskipiste(N)) for i = 1 to UlottuvuuksienMäärä do if P i < N.min i then PäivitäProjektio(i, N, N.min i, N.max i, P i, N.max i ) if P i > N.max i then PäivitäProjektio(i, N, N.min i, N.max i, N.min i, P i )
10 7 Algoritmi 2 HaeSolmut(Piste QP, integer R) for i = 1 to UlottuvuuksienMäärä Lista i = HaeSolmutProjektioista(i, QP i - R, QP i + R) d = UlottuvuuksienMäärä while d>1 do for i = 1 to (d div 2) Lista i = Leikkaus(Lista i, Lista i+(d+1)div2 ) d = (d + 1) div 2 Hae listassa List 1 olevat solmut levyltä pareiksi ja muodostamalla näiden parien leikkaukset. Tätä toistetaan kunnes jäljelle jää enää vain yksi lista. Jäljelle jäänyt lista kertoo ne solmut, jotka tulee hakea levyltä muistiin. Yksittäinen solmu kuuluu hakualueelle, jos sen kaikki projektiot leikkaavat haun projektiota jokaisessa ulottuvuudessa. Haussa voi muodostua myös vääriä positiivisia solmuja, joiden pisteet eivät kuulu hakualueelle, vaikka solmun projektiot kuuluvat. Väärät positiiviset lisäävät levyhakujen määrää ja vähentävät haun tehokkuutta. Jokainen ulottuvuus lisää tarvittavia levyhakuja yksiulotteisista hakemistoista. Väärien positiivisten levyhakujen määrä taas pienenee useammalla ulottuvuudella. Algoritmi 2 kuvaa hakualgoritmin toimintaa. Algoritmi saa syötteenä pisteen QP ja hakualueen säteen R.
11 8 3.3 Poistoalgoritmi Poistoalgoritmi etsii aluksi solmun, jonne poistettava piste kuuluu. Kun pisteen solmu löytyy, se poistetaan tästä solmusta. Pisteen poiston jälkeen täytyy solmun keskipistettä ja mahdollisesti projektioita päivittää. Jos solmun täyttöaste laskee alle halutun rajan, täytyy koko solmu poistaa ja sen sisältämät pisteet lisätä tietorakenteeseen uudestaan. Tällöin solmujen täyttöaste ei laske alle halutun rajan. Kokeellisesti on hyväksi täyttöasteen minimirajaksi todettu 40% solmun tallennustilavuudesta. Yleensä PN-puun täyttöaste todellisilla aineistoilla on noin 75%. Algoritmi 3 kuvaa pisteen poistoalgoritmia ja saa syötteenä poistettavan pisteen P. Solmun poistaminen on kuvattu algoritmissa 4. Tällöin syötteenä on poistettava solmu N. Solmun poistaminen tapahtuu poistamalla solmun keskipiste ja kaikki sen projektiot. 4 PN-puun toteutus PN-puu käyttää useampaa eri tietorakennetta. Luvussa 4.1 käsitellään projektioiden tallennukseen tarvittavia yksiulotteisia rakenteita ja luvussa 4.2 lähimmän naapurin löytämiseen tarkoitettua rakennetta. 4.1 Projektioiden tallentaminen PN-puu käyttää yksiulotteisia hakemistoja tallentamaan solmujen projektioita [ASI05]. Mitä hyvänsä yksiulotteista hakemistorakennetta voidaan käyttää näiden hakemistojen toteutukseen. PN-puun yksiulotteiseksi hakemistorakenteeksi on valittu B+puu. B+-puun valintaan on päädytty, koska se on tehokas ja se löytyy useasta tie-
12 9 Algoritmi 3 PoistaPiste(Piste P) N = HaeSolmu(P) poista piste P solmusta N if N.PisteidenMäärä < minimi then PoistaSolmu(N) and stop PäivitäKeskipiste(N, N.Keskipiste, Keskipiste(N)) for i = 1 to UlottuvuuksienMäärä if P i = N.min i then hae jäljelle jääneistä pisteistä pienin alaraja LB PäivitäProjektio(i, N, N.min i, N.max i, LB, N.max i ) else P i = N.max i then hae jäljelle jääneistä pisteistä suurin yläraja UB PäivitäProjektio(i, N, N.min i, N.max i, N.min i, UB) Algoritmi 4 PoistaSolmu(Solmu N) PoistaKeskipiste(N, N.Centroid) for i = 1 to UlottuvuuksienMäärä PoistaProjektio(i, N, N.min i, N.max i ) for i = 1 to N.PisteidenMäärä LisääPiste(N[i])
13 10 tokannan hallintajärjestelmästä. Yksittäisen ulottuvuuden projektioiden alkupisteet ja loppupisteet on suositeltu tallennettavaksi erillisiin B+-puihin. Projektioiden alkupisteet on järjestetty kasvavaan järjestykseen. Aluksi haetaan ensimmäinen arvo, joka on suurempi kuin hakualueen loppu. Tämän jälkeen voidaan projektioista karsia tämä arvo ja kaikki tätä arvoa seuraavat arvot. Vastaavasti karsinta suoritetaan projektioiden loppupisteille. Loppupisteet on järjestetty laskevaan järjestykseen. Jäljelle jäävät projektiot ovat ne, jotka muodostavat hakualueen projektiot. 4.2 Lähimmän naapurin etsintä PN-puu käyttää lähimmän solmun keskipisteen löytämiseen moniulotteista hakemistoa. PN-puu tallettaa hakurakenteeseen vain yksittäisiä pisteitä, jotka kuvaavat solmujen keskipisteitä. Käytetty hakemisto on R-puun läpikäyntiin perustuva lähimmän naapurin etsintäalgoritmi [ASI05]. R-puu on muunnos B-puusta useammalle ulottuvuudelle [RKV95]. R-puu on samalla tavalla tasapainotettu puu kuin B-puu ja rakentuu pitkälle samalla tavalla. Tallennettavat avaimet kuvaavat nyt kuitenkin avaruuden osia. Jokainen yksittäinen tietorakenteeseen tallennettu olio rajataan pienimmän sitä rajaavan moniulotteisen suorakaiteen sisälle. Tämä kuvaa sitä avaruuden osaa, jonka sisälle olio jää kokonaisuudessaan. R-puun lehtiin tallennetaan tämä suorakaide ja viittaus olion tunnisteeseen. Tilan rajaava suorakaide vastaa B-puun avainta. Puun sisäsolmut sisältävät vastaavia suorakaiteita, jotka rajaavat suorakaiteen sisälle kuuluvat lapset. Jokaisesta suorakaiteesta on myös yhteys sen lapsiin. Lähimmän naapurin löytäminen R-puusta tapahtuu syvyyssuuntaisella järjestetyllä puun läpikäynnillä [RKV95]. Haku aloitetaan puun juuresta. Haun edetessä karsitaan turhia puun haaroja käyttäen kahta etäisyysarviota hyväksi. Toinen etäisyyk-
14 11 sistä kuvaa optimistista etäisyyttä lähimpään naapuriin ja toinen pessimististä etäisyyttä. Näitä arvoja päivitetään haun edetessä. Molemmat etäisyydet perustuvat avaruutta rajaavien suorakaiteiden ominaisuuksiin ja näistä tehtäviin päätelmiin. Näillä arvioilla voidaan turhien etsintähaarojen määrää karsia huomattavasti, ja haku on tehokas. 5 Yhteenveto PN-puu on tarkoitettu moniulotteisten hakemistojen toteuttamiseen. Hakemistorakenne pystyy hyödyntämään useita prosessoreja, koska jokainen ulottuvuus voidaan käsitellä omana kokonaisuutena. PN-puun lisäysalgoritmi huolehtii siitä, että avaruudessa lähekkäin olevat pisteet päätyvät samaan solmuun. PN-puusta voidaan hakea pisteen ympäristössä olevat pisteet, jotka ovat halutulla etäisyydellä annetusta pisteestä. Uusien pisteiden lisäämistä ja vanhojen poistamista voi tehdä hakujen välillä tietorakenteen tehokkuuden siitä kärsimättä. Lähteet ASI05 Ali, M. H., Saad, A. A. ja Ismail, M. A., The pn-tree: A parallel and distributed multidimensional index. Distributed and Parallel Databases, 17,2(2005), sivut CM99 Chakrabarti, K. ja Mehrotra, S., The hybrid tree: An index structure for high dimensional feature spaces. Proc. 15th International Conference on Data Engineering, Washington, DC, USA, 1999, IEEE Computer Society, sivut
15 GG98 Gaede, V. ja Günther, O., Multidimensional access methods. ACM Computing Surveys, 30,2(1998), sivut RKV95 Roussopoulos, N., Kelley, S. ja Vincent, F., Nearest neighbor queries. Proc ACM SIGMOD international conference on Management of data, New York, NY, USA, 1995, ACM Press, sivut
arvostelija OSDA ja UDDI palveluhakemistoina.
Hyväksymispäivä Arvosana arvostelija OSDA ja UDDI palveluhakemistoina. HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Laitos Institution
LisätiedotSelainpelien pelimoottorit
Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
LisätiedotTyön laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages
Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos Institution Department Tekijä Författare Author Työn nimi Arbetets titel Title Oppiaine Läroämne Subject Työn laji Arbetets art Level Aika Datum Month
LisätiedotPro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg
Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA Karoliina Ljungberg 16.04.2009 Ohjaajat: Ari Venäläinen, Jouni Räisänen
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ätiedotAika/Datum Month and year Kesäkuu 2012
Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos/Institution Department Filosofian, historian, kulttuurin ja taiteiden tutkimuksen laitos Humanistinen tiedekunta Tekijä/Författare Author Veera Lahtinen
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 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ä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ä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ätiedotprivate TreeMap<String, Opiskelija> nimella; private TreeMap<String, Opiskelija> numerolla;
Tietorakenteet, laskuharjoitus 7, ratkaisuja 1. Opiskelijarekisteri-luokka saadaan toteutetuksi käyttämällä kahta tasapainotettua binäärihakupuuta. Toisen binäärihakupuun avaimina pidetään opiskelijoiden
LisätiedotLuku 8. Aluekyselyt. 8.1 Summataulukko
Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa
LisätiedotMaailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan
Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan Pro gradu -tutkielma 31.1.2012 Helsingin yliopisto Humanistinen tiedekunta Filosofian, historian,
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ä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ätiedotD B. Harvat hakemistot. Harvat hakemistot
Harvassa hakemistossa on ei ole hakemistomerkintöjä jokaista tietuetta kohden vaan yksi merkintä jotain isompaa kokonaisuutta esimerkiksi sivua tai sivujoukkoa (esim. saman uran sivut) kohti Harvan hakemiston
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ätiedotPaikkatiedon hallinta ja analyysi 4. Paikkatiedon indeksointi
HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Paikkatiedon hallinta ja analyysi 4. Paikkatiedon indeksointi Antti Leino 29. maaliskuuta 2005 Tietojenkäsittelytieteen
LisätiedotLuonnontieteiden popularisointi ja sen ideologia
Luonnontieteiden popularisointi ja sen ideologia Tapauksina Reino Tuokko ja Helsingin Sanomat 1960-luvulla Ahto Apajalahti Helsingin yliopisto Humanistinen tiedekunta Suomen ja Pohjoismaiden historia Pro
LisätiedotKatsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin
INSTITUUTIOTTALOUSKASVUNEDELLYTYKSENÄ KatsauskorruptionvaikutuksestaVenäjänalueelliseentalouskasvuunjasuoriin ulkomaisiininvestointeihin2000 2010 AshekMohamedTarikHossain HelsinginYliopisto Valtiotieteellinentiedekunta
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ätiedotArkkitehtuurinen reflektio
Arkkitehtuurinen reflektio Toni Ruokolainen Toni.Ruokolainen@cs.helsinki.fi Helsinki 6.10.2003 Tiivistelmä HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET
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 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ä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ä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ä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ätiedotKoht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa
Kohtdialogia? Organisaationtoimintaympäristönteemojenhallinta dynaamisessajulkisuudessatarkastelussatoiminta sosiaalisessamediassa SatuMariaPusa Helsinginyliopisto Valtiotieteellinentiedekunta Sosiaalitieteidenlaitos
LisätiedotOppimateriaalin kokoaminen ja paketointi
Oppimateriaalin kokoaminen ja paketointi Pekka Simola Helsinki 14.4.2004 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto
LisätiedotTietorakenteet ja algoritmit - syksy 2015 1
Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä
LisätiedotPaikkatiedon käsittely 6. Kyselyn käsittely
HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Paikkatiedon käsittely 6. Kyselyn käsittely Antti Leino antti.leino@cs.helsinki.fi 1.2.2007 Tietojenkäsittelytieteen laitos Kysely indeksin
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ätiedotKuva 1: J+-puun rakenne [HXS09].
Johdanto Tietotekniikka on kehittynyt viime vuosikymmenten aikana nopeata vauhtia. Tämä on näkynyt niin tietokoneiden tehoissa kuin myös hinnoissa. Myös tietokoneiden keskusmuistit ovat kasvaneet ja ovat
Lisätiedot! #! %! & #!!!!! ()) +
! #! %! & #!!!!! ()) + Tiedekunta/Osasto Fakultet/Sektion Faculty Humanistinen tiedekunta Laitos Institution Department Taiteiden tutkimuksen laitos Tekijä Författare Author Matti Pesonen Työn nimi Arbetets
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ä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ätiedotHakemistorakenteet. R & G Chapter Tietokannan hallinta, kevät 2006, Jan 1
Hakemistorakenteet R & G Chapter 10 16.02.06 Tietokannan hallinta, kevät 2006, Jan 1 Hakemistotyypeistä Hakemistomerkintä sisältää hakemistoavaimen (indexing key) muodostusperustan määrittelemänä tietueesta
LisätiedotAlgoritmit 2. Luento 13 Ti Timo Männikkö
Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019
LisätiedotTietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen
Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:
LisätiedotTKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto
Indeksin luonti ja hävitys TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto Komentoa ei ole standardoitu ja niinpä sen muoto vaihtelee järjestelmäkohtaisesti Indeksi voidaan
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ä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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin
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ätiedotMEMS-muisti relaatiotietokannoissa
MEMS-muisti relaatiotietokannoissa Antti Tikka Espoo 28.2.2009 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto
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ätiedotLiitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1
Liitosesimerkki 16.02.06 Tietokannan hallinta, kevät 2006, J.Li 1 Esim R1 R2 yhteinen attribuutti C T(R1) = 10,000 riviä T(R2) = 5,000 riviä S(R1) = S(R2) = 1/10 lohkoa Puskuritilaa = 101 lohkoa 16.02.06
LisätiedotHakemistotyypeistä. Hakemistorakenteet. Hakemiston toteutuksesta. Hakemiston toteutuksesta
Hakemistotyypeistä Hakemistorakenteet R & G Chapter 10 Hakemistomerkintä sisältää hakemistoavaimen (indexing key) muodostusperustan määrittelemänä tietueesta tai tietuejoukosta tuotettu tunnus yleensä
LisätiedotHallintomallit Suomen valtionhallinnon tietohallintostrategioissa
Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa Lauri Eloranta Helsingin yliopisto Valtiotieteellinen tiedekunta Viestintä Pro gradu -tutkielma, 2014 Hallintomallit)Suomen)valtionhallinnon)tietohallintostrategioissa
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ätiedotDatatähti 2019 loppu
Datatähti 2019 loppu task type time limit memory limit A Summa standard 1.00 s 512 MB B Bittijono standard 1.00 s 512 MB C Auringonlasku standard 1.00 s 512 MB D Binääripuu standard 1.00 s 512 MB E Funktio
LisätiedotPaikkatiedon käsittely 5. Paikkatiedon indeksointi
HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Paikkatiedon käsittely 5. Paikkatiedon indeksointi Antti Leino antti.leino@cs.helsinki.fi 29.1.2007 Tietojenkäsittelytieteen laitos Mistä
LisätiedotTiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta
Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta Laitos Institution Department Politiikan ja talouden tutkimuksen laitos Tekijä Författare Author Virta, Mikko Antero Työn nimi Arbetets
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ätiedotA274101 TIETORAKENTEET JA ALGORITMIT
A274101 TIETORAKENTEET JA ALGORITMIT PERUSTIETORAKENTEET LISTA, PINO, JONO, PAKKA ABSTRAKTI TIETOTYYPPI Tietotyyppi on abstrakti, kun se on määritelty (esim. matemaattisesti) ottamatta kantaa varsinaiseen
LisätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Rekursio Rekursion käyttötapauksia Rekursio määritelmissä Rekursio ongelmanratkaisussa ja ohjelmointitekniikkana Esimerkkejä taulukolla Esimerkkejä linkatulla listalla Hanoin
LisätiedotPuuhakemistoista flash-levyllä
Puuhakemistoista flash-levyllä Antti Tikka Espoo 23.10.2009 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto
Lisätiedot13 Lyhimmät painotetut polut
TIE-20100 Tietorakenteet ja algoritmit 297 13 Lyhimmät painotetut polut BFS löytää lyhimmän polun lähtösolmusta graafin saavutettaviin solmuihin. Se ei kuitenkaan enää suoriudu tehtävästä, jos kaarien
LisätiedotLiitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot
Esim yhteinen attribuutti C Liitosesimerkki T() = 10,000 riviä T() = 5,000 riviä S() = S() = 1/10 lohkoa Puskuritilaa = 101 lohkoa 1 2 Vaihtoehdot Sisäkkäiset silmukat Liitosjärjestys:, Liitosalgoritmit:
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ätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotTiedostorakenteet. R&G Chapter Tietokannan hallinta, kevät 2006, Jan 1
Tiedostorakenteet R&G Chapter 9 16.02.06 Tietokannan hallinta, kevät 2006, Jan 1 Tiedostorakenteet Tiedostojen tehokkuutta yhtä kyselyä kohti arvioidaan usein tarvittavien levyhakujen määrällä. kuten levykäsittelyn
Lisätiedotoheishakemistoja voi tiedostoon liittyä useita eri perustein muodostettuja
Tietokantojen hakemistorakenteet Hakemistorakenteiden (indeksien) tarkoituksena on nopeuttaa tietojen hakua tietokannasta. Hakemisto voi olla ylimääräinen oheishakemisto (secondary index), esimerkiksi
LisätiedotD B. Harvat hakemistot
Harvat hakemistot Harvassa hakemistossa on ei ole hakemistomerkintöjä jokaista tietuetta kohden vaan yksi merkintä jotain isompaa kokonaisuutta esimerkiksi sivua tai sivujoukkoa (esim. saman uran sivut)
Lisätiedot2.2. Kohteiden konstruktiivinen avaruusgeometrinen esitys
.. Kohteiden konstruktiivinen avaruusgeometrinen esitys Avaruusgeometrinen esitys on käyttäjäriippuvainen ja vaati erikoismenetelmiä tai lopuksi konversion monikulmiomalliksi. Se on korkean tason esitys
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ätiedotKääreluokat (oppikirjan luku 9.4) (Wrapper-classes)
Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi
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ä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ä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ä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ätiedotTietokannan indeksointi: B puun ja hajautusindeksin tehokkuus
Tietokannan indeksointi: B puun ja hajautusindeksin tehokkuus Tuomas Kortelainen 28.4.2008 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu tutkielma Tiivistelmä Tässä tutkielmassa esitellään tietokannan
LisätiedotDominointianalyysi. Teppo Niinimäki. Helsinki Approksimointialgoritmit HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Dominointianalyysi Teppo Niinimäki Helsinki 10.5.2010 Approksimointialgoritmit HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
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ätiedotD B. Tiedostojen käsittely
Tietokantojen tietoja säilytetään yleensä apumuistissa, lähinnä levymuisteissa Apumuistiin tallentamisen merkittäviä etuja keskusmuistiin nähden ovat tiedon säilyvyys (virtakatkon yli) säilytyskapasiteetin
LisätiedotAlgoritmit 1. Luento 9 Ti Timo Männikkö
Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward
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ä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ä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ä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 1. Luento 1 Ti Timo Männikkö
Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017
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ätiedotTIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 11 TU00AA48-2002 TU10S1E Hannu Markkanen 22.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Indeksit Indeksit Taulun
LisätiedotD B. Tietokannan hallinta kertaus
TKHJ:n pääkomponentit metadata TKHJ:ssä Tiedostojen käsittely puskurien rooli tiedostokäsittelyssä levymuistin rakenne ja käsittely mistä tekijöistä hakuaika muodostuu jonotus jos useita samanaikaisia
LisätiedotUseaa tietolähdettä käyttävä klusterointi
Useaa tietolähdettä käyttävä klusterointi Mikko Heinonen Tiedon louhinnan seminaari, kevät 2008 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY
LisätiedotHelsingin yliopisto /TKTL Tietokannan hallinta Harri Laine 1 D B. Harvat hakemistot. Harvat hakemistot
Harvassa hakemistossa on ei ole hakemistomerkintöjä jokaista tietuetta kohden vaan yksi merkintä jotain isompaa kokonaisuutta esimerkiksi sivua tai sivujoukkoa (esim. saman uran sivut) kohti Harvan hakemiston
LisätiedotLuento 2: Tiedostot ja tiedon varastointi
HELIA 1 (19) Luento 2: Tiedostot ja tiedon varastointi Muistit... 2 Päämuisti (Primary storage)... 2 Apumuisti (Secondary storage)... 2 Tiedon tallennuksen yksiköitä... 3 Looginen taso... 3 Fyysinen taso...
LisätiedotPIKAOHJE Web of Science tietokantojen käyttöön
PIKAOHJE Web of Science tietokantojen käyttöön SCIENCE CITATION INDEX Monitieteinen tietokanta, joka sisältää biologian, lääketieteen ja psykiatrian alalta n. 7100 lehteä SOCIAL SCIENCES CITATION INDEX
LisätiedotLuentorunko keskiviikolle Hierarkkinen ryvästäminen
Luentorunko keskiviikolle 3.12.2008 Hierarkkinen ryvästäminen Ryvästyshierarkia & dendrogrammi Hierarkkinen ryvästäminen tuottaa yhden ryvästyksen sijasta sarjan ryvästyksiä Tulos voidaan visualisoida
LisätiedotAlgoritmit 2. Luento 14 Ke Timo Männikkö
Algoritmit 2 Luento 14 Ke 3.5.2017 Timo Männikkö Luento 14 Ositus ja rekursio Rekursion toteutus Kertaus ja tenttivinkit Algoritmit 2 Kevät 2017 Luento 14 Ke 3.5.2017 2/30 Ositus Tehtävän esiintymä ositetaan
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta
LisätiedotAlgoritmit 1. Luento 10 Ke Timo Männikkö
Algoritmit 1 Luento 10 Ke 14.2.2018 Timo Männikkö Luento 10 Algoritminen ongelmanratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Lisäyslajittelu Valintalajittelu Permutaatiot
LisätiedotAlgoritmit 2. Luento 11 Ti Timo Männikkö
Algoritmit 2 Luento 11 Ti 24.4.2018 Timo Männikkö Luento 11 Rajoitehaku Kapsäkkiongelma Kauppamatkustajan ongelma Paikallinen etsintä Lyhin virittävä puu Vaihtoalgoritmit Algoritmit 2 Kevät 2018 Luento
LisätiedotSisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto
Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:
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ä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ätiedotLisätään avainarvo 1, joka mahtuu lehtitasolle:
Helsingin Yliopisto, Tietojenkäsittelytieteen laitos Tietokannan hallinta, kurssikoe 14.5.2004, J. Lindström Ratkaisuehdotuksia 1. Hakemistorakenteet, 15p. Tutkitaan tyhjää B+-puuta, jossa jokaiselle hakemistosivulle
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ä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ätiedot