811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

Koko: px
Aloita esitys sivulta:

Download "811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu"

Transkriptio

1 111A Tietoraketeet ja algoritmit, , Harjoitus, Ratkaisu Harjoitukse aiheita ovat algoritmie aikakompleksisuus ja lajittelualgoritmit Tehtävä.1 Selvitä seuraavie rekursioyhtälöide ratkaisuje kompleksisuusluokat käyttäe lueoissa esitettyä lausetta M (Master Theorem): a) T( ) 9T ( /), b) c) T( ) 16T ( / 4), T( ) T ( / ). Lause M. (Master Theorem) Olkoot 1b 1 a kokoaislukuvakioita ja f fuktio. Rekursio T( ) a T( / b ) f ( a T( / b ) f ( ) samoi kui rekursio ) T( ) ratkaisulle pätee seuraavaa: log a 1) Jos f ( ) O( b ) jollaki vakiolla 0, ii T( ) logb a log a ) Jos f ( ) b ), ii ) Jos log a ( ) ( b ) vakiolla 1 ) logb a T( ) lg ) f jollaki vakiolla 0 ja jos a f ( / b) c f ( ) c ja riittävä suurilla luvu arvoilla, ii T( ) f ( )) jollaki Ratkaisu. Kohdassa a o a 9, b, jote log a log 9 log. Edellee o b 1 f ( ) O( ) ja voidaa soveltaa lausee M esimmäistä kohtaa (tässä siis 1) ja saadaa log a T( ) b ) ). Kohdassa b o a 16, b 4, jote log a log 16 log 4. Edellee f ( ) ( ) b 4 4, jote sovelletaa lausee M toista kohtaa ja saadaa log a T( ) b lg ) lg ). f ( ). Näi olle log a log 1 Kohdassa c taas o a, b ja b ja koska 1 f ( ) O( ), sekä a f ( / b) / ) 1/ 4 1/ 4 f ( ), voidaa soveltaa lausee kolmatta kohtaa (tässä ) ja saadaa T( ) f ( )) )

2 Tehtävä. Seuraava rekursiivie algoritmi toteuttaa puolitushau järjestettyy taulukkoo. Testaa algoritmia hakemalla taulukosta A = [11,,1,47,,6,71,9,94,10,11,16,1,14] alkio 10. Määritä lausee M avulla tiukka kompleksisuusluokka ( -otaatio). Syöte: Taulukko A[1,..,], >= 1, tauluko alkiot ovat kasvavassa järjestyksessä A[1] <= A[] <= <= A[]. Luvut 1<=p<=q<=. Luku x jota haetaa taulukosta väliltä A[p,..,q]. Tulostus: Alkio x ideksi taulukossa tai arvo -1, jos x ei esiiy taulukossa välillä A[p,..,q]. HAKU(A,p,q,x) 1. if p==q. if A[p]==x. retur p 4. else. retur else 7. r = (p + q)/. if x<=a[r] 9. retur HAKU(A,p,r,x) 10. else 11. retur HAKU(A,r+1,q,x) Ratkaisu. Ku haetaa arvoa 10 taulukosta A, saadaa seuraava kutsujoo: HAKU(A,1,14): r = 7 ja A[r] = 71; 10 > A[r] HAKU(A,,14): r = 11 ja A[r] = 11; 10 <= A[r] HAKU(A,,11): r = 9 ja A[r] = 94 <= 10; 10 > A[r] HAKU(A,10,11) : r = 10 ja A[10] = 10; 10 <= A[r] HAKU(A,10,10): p==q ja A[10]==10: palautetaa 10 Algoritmi palauttaa siis alkio 10 ideksi taulukossa A. Olkoo algoritmi suoritusaika T (), ku haetaa tauluko osasta, joka koko o paikkaa. Lukuu ottamatta rekursiivista kutsua, algoritmissa suoritetaa vakiomäärä vakioaikaisia operaatioita (korkeitaa kaksi vertailua ja yksi sijoitus). Näi olle rekursiota lukuu ottamatta suoritusaika o vakio c. Jos >1, taulukko puolitetaa ja kutsutaa algoritmia puolitetulle taulukolle. Tämä vie aja T (/ ). Näi saadaa rekursioyhtälö T( ) T( / ) c. 0 Sovelletaa lausetta M: Nyt a 1, b, jote log a log 1 log 0. Edellee f ( ) c c 0 ( log a 0 T( ) b lg ) lg ) lg ). 0 ). Site lausee M tapaukse mukaa Algoritmi o siis kompleksisuusluokaltaa logaritmie. b

3 Tehtävä. Järjestä tauluko A:,, 6,, 7,, 4 alkiot pieimmästä suurimpaa käyttäe (algoritmit ovat liitteeä tehtävie jälkee). a) pikalajittelua (Quicksort), b) kekolajittelua (Heapsort). Ratkaisu. a) Quicksort Oletetaa seuraavassa, että taulukko A o ideksoitu ollasta lähtie, jolloi tauluko viimeise alkio ideksi o 6, jote aluksi kutsutaa algoritmia QUICKSORT(A,0,6). Site kutsutaa algoritmia PARTITION(A,0,6), joka hakee taulukosta oikea paika tauluko viimeiselle alkiolla 4, siirtää tätä pieemmät vasemmalle, suuremmat oikealle ja lopuksi palauttaa alkio 4 ideksi uudessa taulukossa. Tuloksea o taulukko ja paluuarvo Nyt algoritmissa kutsutaa rekursiivisesti algoritmia QUICKSORT(A,0,1) ja QUICKSORT(A,,6) QUICKSORT(A,0,1) kutsuu algoritmia PARTITION(A,0,1), joka hakee (tauluko puaisella merkitystä osasta) oikea paika alkiolle ja palauttaa arvo 0. Tuloksea alkiot ja ovat järjestyksessä ja kutsutaa algoritmia QUICKSORT(A,0,-1) ja QUICKSORT(A,1,1), joista kumpikaa ei eää tee mitää. Nyt taulukko o järjestyksessä QUICKSORT(A,,6) kutsuu algoritmia PARTITION(A,,6), joka hakee (tauluko siisellä merkitystä osasta) oikea paika alkiolle 6 ja palauttaa arvo 4. Tuloksea o taulukko Nyt kutsutaa QUICKSORT(A,,) ja QUICKSORT(A,,6).Esimmäie kutsu ei eää tee mitää ja toie kutsuu PARTITION(A,,6), joka palauttaa arvo 6, mikä jälkee myös tämä kutsuhaara päättyy ja taulukko o järjestyksessä 4 6 7

4 b) Heapsort Merkitää alle taulukko ja sitä vastaava biääripuu. Aluksi tauluko arvot sijoitetaa täydellisee biääripuuhu Esimmäisessä vaiheessa biääripuusta tehdää maksimikeko. Käydää isäsolmut (joilla o lapsia) läpi ideksie järjestyksessä,, 1. Tapahtuvat seuraavat alkioide arvoje vaihdot: (,) (,) ja vielä (,) (,) sekä (,7) (7,). Saadaa taulukko seuraavaa järjestyksee ja sitä vastaava maksimikeko Nyt alkaa toie vaihe, jossa esimmäise ja viimeise alkio paikat vaihdetaa (,4) (4,) ja 1-paikalle tullut arvo 4 tippuu suuremma lapse alipuussa oikealle paikallee (4,7) (7,4) ja (4,) (,4). Kekoa pieeetää yhdellä eli poistetaa viimeie paikka, joka jää kuiteki taulukkoo. Saadaa seuraava taulukko ja maksimikeko.

5 Jällee vaihdetaa esimmäise ja viimeise alkio paikat (7,) vaihdetaa (,7) ja 1-paikalle tullut arvo tippuu suuremma lapse alipuussa oikealle paikallee (,6) (6,). Kekoa pieeetää yhdellä eli poistetaa se viimeie paikka, joka jää kuiteki taulukkoo. Saadaa seuraava taulukko ja maksimikeko Taas vaihdetaa esimmäise ja viimeise alkio paikat (6,4) (4,6) ja 1-paikalle tullut arvo 4 tippuu suuremma lapse alipuussa oikealle paikallee (4,) (,4). Kekoa pieeetää yhdellä eli poistetaa se viimeie paikka, joka jää kuiteki taulukkoo. Saadaa seuraava taulukko ja maksimikeko.

6 Vaihdetaa (,) (,) ja 1-paikalle tullut arvo tippuu suuremma lapse alipuussa oikealle paikallee (,4) (4,). Kekoa pieeetää yhdellä eli poistetaa se viimeie paikka, joka jää kuiteki taulukkoo. Saadaa seuraava taulukko ja maksimikeko Vaihdetaa taas (4,) (,4) ja 1-paikalle tullut arvo tippuu suuremma lapse alipuussa oikealle paikallee (,) (,). Kekoa pieeetää yhdellä eli poistetaa se viimeie paikka, joka jää kuiteki taulukkoo. Saadaa seuraava taulukko ja maksimikeko.

7 Esimmäise ja viimeise alkio paikat vaihdetaa (,) (,). Kekoa pieeetää yhdellä eli poistetaa se viimeie paikka, joka jää kuiteki taulukkoo. Tällöi tauluko alkiot äkyvät seuraavassa kuviossa Lajittelu päättyy tähä. Taulukkoo o saatu alkiot suuruusjärjestyksee,, 4,,6, 7,.

8 Tehtävä.4 Lukujoo tyyppiarvoksi eli moodiksi saotaa siiä useimmi esiityvää lukua. Esimerkiksi joo,1,,,,,4,1,4,4,, tyyppiarvo o. Suuittele algoritmi, joka etsii lukutauluko A moodi. Algoritmi aikakompleksisuusluokka saa olla O( lg()), ku syötetauluko koko o. Ratkaisu. Käytetää hyväksi lajittelua: Suuruusjärjestyksee saatetusta taulukosta o helppo hakea moodi käymällä taulukko kerra läpi: Lasketaa kuika mota kertaa sama arvo esiityy peräkkäi ja pidetää yllä tietoa siitä, mikä arvo o esiityyt suurimma määrä kertoja. Tällöi algoritmiksi saadaa seuraava: Syöte: Taulukko A[1,..,], >= 1. Tulostus: Tauluko alkioide tyyppiarvo MODE(A) 1. HEAPSORT(A) //Lajittele taulukko käyttäe kekolajittelua. mode = A[1]. freq = 1 4. temp = 1. i = 6. while i <= do 7. if A[i]!= A[i-1]. temp = 1 9. else 10. temp = temp if temp > freq 1. freq = temp 1. mode = A[i] 14. i = i+1 1. retur mode Ku tullaa algoritmi riville, taulukko o järjestyksessä. Aluksi muuttuja mode o tauluko esimmäie arvo. Silmukassa tarkastellaa tauluko jokaie alkio ideksistä lähtie. Muuttuja temp laskee kulloiki tarkasteltava tauluko arvo esiitymiskertoja: ku arvo vaihtuu, aloitetaa uudellee arvosta 1. Muuttuja freq arvo o toistaiseksi useimmi esiityee arvo esiitymislukumäärä: jos muuttuja temp arvo ylittää muuttuja freq arvo, muuttujaa freq päivitetää ja myös muuttuja mode päivitetää taulukossa esiityväksi arvoksi. Näi olle muuttuja mode arvo o tauluko tarkastellu osa moodi. Ku algoritmi päättyy, muuttuja arvo o koko tauluko moodi. Algoritmi etsii siis tauluko moodi. Kekolajittelu aikakompleksisuus o luokkaa O( lg()). Tämä lisäksi algoritmissa tehdää vakioaikaie operaatio jokaiselle tauluko alkiolle. Algoritmi loppuosa aikakompleksisuus o siis luokkaa O() ja algoritmi kokoaiskompleksisuus luokkaa O( lg()). Yllämaiittu algoritmi o implemetoitu C- ja Pytho-kielillä likitettyihi kooditiedostoihi.

9 Tehtävä. Kirjoita ohjelma (joko C- tai Pytho-kielellä), jolla voidaa testata lajittelualgoritmie suoritusaikoja. Kirjoita fuktiot, jotka suorittavat lisäyslajittelu ja pikalajittelu (Quicksort) ja testaa äide suoritusaikoja erikokoisilla kokoaislukutaulukoilla, jotka alustetaa satuaisluvuilla. Algoritmit ovat liitteeä tehtävie jälkee. Testaa vielä seuraavaa: Pikalajittelua voi yrittää parataa site, että lajittelee tauluko esi karkeaa suuruusjärjestyksee Quicksort-algoritmilla site, että rekursiivista Quicksort-kutsua ei tehdä, mikäli lajiteltava väli pituus o jotaki kyysarvoa pieempi. Liitteeä o tällaie algoritmi (QuicksortCutoff). Tällöi taulukkoo jää kyysarvoa lyhempiä välejä, jotka eivät ole järjestyksessä, mutta edellise osaväli arvot ovat pieempiä kui seuraava. Tällöi taulukko voidaa opeasti lajitella loppuu käyttäe lisäyslajittelua. Implemetoi tämä ja testaa aiaki kyysarvoilla 10, 0 ja 100. Nopeutuuko lajittelu puhtaasee Quicksort-lajitteluu verrattua? Ratkaisu. Esimerkkiohjelmat C- ja Pytho-kielillä o likitetty ohee. Lisäyslajittelu aikakompleksisuus o luokkaa Θ( ), jote se suoritusaika kasvaa suureksi huomattavasti ee luokkaa Θ(lg()) olevaa Quicksort-algoritmia. C-ohjelma suoriutuu samassa ajassa oi kymmee kertaa pitemmästä taulukosta kui Pytho-ohjelma. Testikoeella saatii seuraavia suoritusaikoja lisäyslajittelulle: Lisäyslajittelu: C-ohjelma Tauluko koko Aika (s) Lisäyslajittelu: Pytho-ohjelma Tauluko koko Aika (s) Quicksort-algoritmia voidaa suorittaa huomattavasti suuremmilla tauluko arvoilla. C-kielisellä ohjelmalla algoritmi suoriutui kohtuudella vielä taulukoista, joide koko oli Yhdistelmäalgoritmi toimi hiema opeammi. Paras kyysarvo kokeilluista oli 0, tosi erot eivät olleet suuret Quicksort: C-ohjelma Tauluko koko Aika (s) Quicksort+lisäyslajittelu, kyysarvo 10: C-ohjelma Tauluko koko Aika (s) Quicksort+lisäyslajittelu, kyysarvo 0: C-ohjelma Tauluko koko Aika (s) Quicksort+lisäyslajittelu, kyysarvo 0: C-ohjelma Tauluko koko Aika (s)

10 Pytho-ohjelmassa Quicksorti ja lisäyslajittelu yhdistelmä suoritusaikaa vaikutti voimakkaasti se, kuika suurelta lukuväliltä satuaislukuja arvottii. Tämä oki luoollista, koska tauluko kokoo ähde piei lukuväli aiheuttaa se, että taulukkoo arvotaa samoja lukuja. Tällöi taulukko o hyvi lähellä järjestettyä taulukkoa jo keskeytety Quicksorti jälkee. Alla aetuissa suoritusajoissa o arvottu satuaislukuja väliltä [1, ] : Quicksort: Pytho-ohjelma Tauluko koko Aika (s) Quicksort+lisäyslajittelu, kyysarvo 10: Pytho -ohjelma Tauluko koko Aika (s) Quicksort+lisäyslajittelu, kyysarvo 0: Pytho-ohjelma Tauluko koko Aika (s) Quicksort+lisäyslajittelu, kyysarvo 0: Pytho-ohjelma Tauluko koko Aika (s) Käytetyt ohjelmakoodit o likitetty ratkaisutiedosto alle.

11 Neuvoja tehtävää.: C-ohjelma. Satuaisluvu geeroimie ja joki operaatio kesto laskemie sekueissa tapahtuu seuraavasti: #iclude <stdlib.h> #iclude <time.h> clock_t start,ed; double totaltime; it rad_x; // Satuaisluku rad_x = rad(); // Isoilla taulukoilla kaattaa varmistaa että satuaisluku // o varmasti -bittie ja kutsua fuktiota usiged it bigradom(){ usiged it radom = (((usiged it) rad() << 0) & 0x0000FFFF) (((usiged it) rad() << 16) & 0xFFFF0000); } retur radom; // Operaatio kesto start = clock(); // OPERAATIO ed = clock(); totaltime = (double)(ed-start)/clocks_per_sec; Pythoissa vastaavat operaatiot voidaa tehdä seuraavasti: import time import radom #Satuaisluku x ii, että väliltä a <= x <= b x = radom.radit(a,b) #Operaatio kesto start = time.perf_couter() #OPERAATIO ed = time.perf_couter() - start

12 Heapsort (kekolajittelu) Liite. Tehtävie lajittelualgoritmit Syöte: Taulukko A[1,,] (=A.legth) HEAPSORT(A) Tuloste: Taulukko A järjestyksessä 1. BUILD_MAX_HEAP(A). for i = A.legth dowto. vaihda A[1] A[i] 4. A.heap_size = A.heap_size 1. MAX_HEAPIFY(A, 1) BUILD_MAX_HEAP(A) Tuloste: Taulukosta A maksimikeko 1. A.heap_size = A.legth. for i = A.legth/ dowto 1. MAX_HEAPIFY(A, i) MAX_HEAPIFY(A, i) 1. lft = LEFT(i) ( = *i). rgt = RIGHT(i) ( = *i+1). if lft <= A.heap_size ad A[lft] > A[i] 4. largest = lft. else 6. largest = i 7. if rgt <= A.heap_size ad A[rgt] > A[largest]. largest = rgt 9. if largest!= i 10. vaihda A[i] A[largest] 11. MAX_HEAPIFY(A, largest) Lisäyslajittelu Syöte: Taulukko A[0,1,..,-1], >= 1 Tulostus: Järjestys A[0] <= <= A[-1] INSERTION_SORT(A) 1. for j = 1 to -1. k = A[j]. i = j-1 4. while i>=0 ad A[i]>k. A[i+1] = A[i] 6. i = i-1 7. A[i+1] = k

13 Quicksort ja QuicksortCutoff Syöte: Tauluko osa A[p,..,r] Tuloste: A[p,..,r] lajiteltua QUICKSORT(A, p, r) 1. if p < r. q = PARTITION(A, p, r). QUICKSORT(A, p, q-1) 4. QUICKSORT(A, q+1, r) Syöte: Tauluko osa A[p,..,r], kyysarvo threshold Tuloste: A[p,..,r] karkeasti lajiteltua kyysarvo mukaa QUICKSORTCUTOFF(A, p, r,threshold) 1. if r-p > threshold. q = PARTITION(A, p, r). QUICKSORTCUTOFF(A, p, q-1, threshold) 4. QUICKSORTCUTOFF(A, q+1, r, threshold) PARTITION(A,p,r) 1. x = A[r]. i = p - 1. for j = p to r 1 4. if A[j] <= x. i = i vaihda A[i] A[j] 7. vaihda A[i + 1] A[r]. retur i + 1

811312A Tietorakenteet ja algoritmit, , Harjoitus 4, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 4, Ratkaisu 81112A Tietoraketeet ja algoritmit, 217-218, Harjoitus 4, Ratkaisu Harjoitukse aiheita ovat algoritmie aikakompleksisuus ja lajittelualgoritmit Tehtävä 4.1 Selvitä seuraavie rekursioyhtälöide ratkaisuje

Lisätiedot

811312A Tietorakenteet ja algoritmit, 2015-2016, Harjoitus 2, Ratkaisu

811312A Tietorakenteet ja algoritmit, 2015-2016, Harjoitus 2, Ratkaisu 8111A Tietoraketeet ja algoritmit, 15-16, Harjoitus, Ratkaisu Harjoituksessa käsitellää asymptoottista merkitätapaa ja algoritmie aikakompleksisuutta. Tehtävä.1 a Oko f ( O( tai f (, ku 1 f ( f, 4 ( 5

Lisätiedot

811312A Tietorakenteet ja algoritmit III Lajittelualgoritmeista

811312A 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ätiedot

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta 811312A Tietorakenteet ja algoritmit 2016-2017 Kertausta kurssin alkuosasta II Algoritmien analyysi: oikeellisuus Algoritmin täydellinen oikeellisuus = Algoritmi päättyy ja tuottaa määritellyn tuloksen

Lisätiedot

811312A Tietorakenteet ja algoritmit II Algoritmien analyysi

811312A Tietorakenteet ja algoritmit II Algoritmien analyysi 811312A Tietoraketeet ja algoritmit 2016-2017 II Algoritmie aalyysi Sisältö 1. Algoritmie oikeellisuus 2. Algoritmie suorituskyvy aalyysi 3. Master Theorem 811312A TRA, Algoritmie aalyysi 2 II.1. Algoritmie

Lisätiedot

811312A Tietorakenteet ja algoritmit , Harjoitus 1 ratkaisu

811312A Tietorakenteet ja algoritmit , Harjoitus 1 ratkaisu 83A Tietoraketeet ja algoritmit 06-07, Harjoitus ratkaisu Harjoitukse aiheea o algoritmie oikeellisuus. Tehtävä. Kahvipurkkiogelma. Kahvipurkissa P o valkoisia ja mustia kahvipapuja, yhteesä vähitää kaksi

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

811312A 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ätiedot

( ) k 1 = a b. b 1) Binomikertoimen määritelmän mukaan yhtälön vasen puoli kertoo kuinka monta erilaista b-osajoukkoa on a-joukolla.

( ) k 1 = a b. b 1) Binomikertoimen määritelmän mukaan yhtälön vasen puoli kertoo kuinka monta erilaista b-osajoukkoa on a-joukolla. Kombiatoriikka, kesä 2010 Harjoitus 2 Ratkaisuehdotuksia (RT) (5 sivua) Käytä tehtävissä 1-3 kombiatorista päättelyä. 1. Osoita, että kaikilla 0 b a pätee ( ) a a ( ) k 1 b b 1 kb Biomikertoime määritelmä

Lisätiedot

2. Algoritmien analyysi

2. Algoritmien analyysi . Algoritmie aalyysi Tässä osassa käsitellää algoritmie aalyysia, joka tarkoittaa algoritmie oikeellisuustarkasteluja sekä iide suorituskyvy aalysoitia. Joskus algoritmie aalyysi katsotaa sisältävä aioastaa

Lisätiedot

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu 811312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 3, Ratkaisu Harjoituksessa käsitellään algoritmien aikakompleksisuutta. Tehtävä 3.1 Kuvitteelliset algoritmit A ja B lajittelevat syötteenään

Lisätiedot

T Datasta tietoon, syksy 2005 Laskuharjoitus 8.12., ratkaisuja Jouni Seppänen

T Datasta tietoon, syksy 2005 Laskuharjoitus 8.12., ratkaisuja Jouni Seppänen T-1.1 Datasta tietoo, syksy 5 Laskuharjoitus.1., ratkaisuja Joui Seppäe 1. Simuloidaa tasoittaista algoritmia. Esimmäisessä vaiheessa ehdokkaia ovat kaikki yhde muuttuja joukot {a}, {b}, {c} ja {d}. Aaltosulkeide

Lisätiedot

MATP153 Approbatur 1B Harjoitus 1, ratkaisut Maanantai

MATP153 Approbatur 1B Harjoitus 1, ratkaisut Maanantai MATP53 Approbatur B Harjoitus, ratkaisut Maaatai..05. (Lämmittelytehtävä.) Oletetaa, että op = 7 tutia työtä. Kuika mota tutia Oili Opiskelija työsketelee itseäisesti kurssilla, joka laajuus o 4 op, ku

Lisätiedot

3 10 ei ole rationaaliluku.

3 10 ei ole rationaaliluku. Harjoitukset / 011 RATKAISUT Lukuteoria 1. Etsi Eratostheee seulalla samatie kaikki lukua 400 pieemmät alkuluvut. (Tai ohjelmoi tietokoeesi etsimää paljo lisää.) Kirjoita rivii kaikki luvut 1-00. Poista

Lisätiedot

****************************************************************** ****************************************************************** 7 Esim.

****************************************************************** ****************************************************************** 7 Esim. 8.3. Kombiaatiot MÄÄRITELMÄ 6 Merkitä k, joka luetaa yli k:, tarkoittaa lause- ketta k = k! ( k)! 6 3 2 1 6 Esim. 1 3 3! = = = = 3! ( 3)! 3 2 1 3 2 1 3 2 1 Laskimesta löydät äppäime, jolla kertomia voi

Lisätiedot

Kertaa tarvittaessa induktiota ja rekursiota koskevia tietoja.

Kertaa tarvittaessa induktiota ja rekursiota koskevia tietoja. MATEMATIIKAN JA TILASTOTIETEEN LAITOS Aalyysi I Harjoitus 5. 0. 2009 alkavalle viikolle Ratkaisuehdotuksia ( sivua) (Rami Luisto) Laskuharjoituksista saa pistettä, jos laskettu vähitää 50 tehtävää; 3 pistettä,

Lisätiedot

Algoritmit 1. Luento 12 Ti Timo Männikkö

Algoritmit 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ätiedot

Algoritmit 1. Luento 12 Ke Timo Männikkö

Algoritmit 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ätiedot

Harjoitustehtävien ratkaisuja

Harjoitustehtävien ratkaisuja 3. Mallitamie lukujooje avulla Lukujoo määritelmä harjoituksia Harjoitustehtävie ratkaisuja 3. Laske lukujoo viisi esimmäistä jäsetä, ku a) a 6 ja b) a 6 ja 3 8 c) a ja 3 a) 6,, 8, 4, 30. b) 8,, 6, 0,

Lisätiedot

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

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return

Lisätiedot

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu 811312A Tietorakenteet ja algoritmit 2017-2018, Harjoitus 2 ratkaisu Harjoituksen aiheena on algoritmien oikeellisuus. Tehtävä 2.1 Kahvipurkkiongelma. Kahvipurkissa P on valkoisia ja mustia kahvipapuja,

Lisätiedot

2 avulla. Derivaatta on nolla, kun. g( 3) = ( 3) 2 ( 3) 5 ( 3) + 6 ( 3) = 72 > 0. x =

2 avulla. Derivaatta on nolla, kun. g( 3) = ( 3) 2 ( 3) 5 ( 3) + 6 ( 3) = 72 > 0. x = TAMMI PYRAMIDI NUMEERISIA JA ALGEBRALLISIA MENETELMIÄ PARITTOMAT RATKAISUT 7 Tiedosto vai hekilökohtaisee käyttöö. Kaikelaie sisällö kopioiti kielletty. a) g( ) = 5 + 6 Koska g o eljäe astee polyomi, ii

Lisätiedot

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu

811312A 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ätiedot

Algoritmit 1. Luento 11 Ti Timo Männikkö

Algoritmit 1. Luento 11 Ti Timo Männikkö Algoritmit 1 Luento 11 Ti 14.2.2017 Timo Männikkö Luento 11 Algoritminen ongelmanratkaisu Osittaminen Lomituslajittelu Lomituslajittelun vaativuus Rekursioyhtälöt Pikalajittelu Algoritmit 1 Kevät 2017

Lisätiedot

4 Lajittelualgoritmeista

4 Lajittelualgoritmeista 4 Lajittelualgoritmeista Tässä osassa käsitellään edistyneempiä lajittelualgoritmeja, erityisesti keko- ja pikalajitteluja. Lisäksi perehdytään hieman lajittelualgoritmien suorituskyvyn rajoihin. Materiaali

Lisätiedot

Insinöörimatematiikka IA

Insinöörimatematiikka IA Isiöörimatematiikka IA Harjoitustehtäviä. Selvitä oko propositio ( p q r ( p q r kotradiktio. Ratkaisu: Kirjoitetaa totuustaulukko: p q r ( p q r p q r ( p q r ( p q r 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Lisätiedot

1. (Jatkoa Harjoitus 5A tehtävään 4). Monisteen esimerkin mukaan momenttimenetelmän. n ne(y i Y (n) ) = 2E(Y 1 Y (n) ).

1. (Jatkoa Harjoitus 5A tehtävään 4). Monisteen esimerkin mukaan momenttimenetelmän. n ne(y i Y (n) ) = 2E(Y 1 Y (n) ). HY / Matematiika ja tilastotietee laitos Tilastollie päättely II, kevät 018 Harjoitus 5B Ratkaisuehdotuksia Tehtäväsarja I 1. (Jatkoa Harjoitus 5A tehtävää ). Moistee esimerki 3.3.3. mukaa momettimeetelmä

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiika tukikurssi Kurssikerta 3 1 Lisää iduktiota Jatketaa iduktio tarkastelua esimerki avulla. Yritetää löytää kaava : esimmäise (positiivise) parittoma luvu summalle eli summalle 1 + 3 + 5 + 7 +...

Lisätiedot

3 Lajittelualgoritmeista

3 Lajittelualgoritmeista 3 Lajittelualgoritmeista Tässä osassa käsitellään edistyneempiä lajittelualgoritmeja, erityisesti keko- ja pikalajitteluja. Lisäksi perehdytään hieman lajittelualgoritmien suorituskyvyn rajoihin. Materiaali

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiika tukikurssi Kurssikerta 1 Iduktiotodistus Iduktiotodistukse logiikka Tutkitaa tapausta, jossa haluamme todistaa joki väittee P() site, että se pätee kaikilla luoollisissa luvuilla. Eli halutaa

Lisätiedot

Ryhmän osajoukon generoima aliryhmä ja vapaat ryhmät

Ryhmän osajoukon generoima aliryhmä ja vapaat ryhmät Ryhmä osajouko geeroima aliryhmä ja vapaat ryhmät LuK-tutkielma Joose Heioe Matemaattiste tieteide tutkito-ohjelma Oulu yliopisto Kevät 2017 Sisältö Johdato 2 1 Ryhmät ja aliryhmät 2 1.1 Ryhmä.................................

Lisätiedot

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 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ätiedot

Algoritmit 2. Luento 14 Ke Timo Männikkö

Algoritmit 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ätiedot

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 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ätiedot

Tehtäviä neliöiden ei-negatiivisuudesta

Tehtäviä neliöiden ei-negatiivisuudesta Tehtäviä epäyhtälöistä Tehtäviä eliöide ei-egatiivisuudesta. Olkoo a R. Osoita, että 4a 4a. Ratkaisu. 4a 4a a) a 0 a ) 0.. Olkoot a,, R. Osoita, että a a a. Ratkaisu. Kerrotaa molemmat puolet kahdella:

Lisätiedot

Tunnuslukuja 27 III TUNNUSLUKUJA

Tunnuslukuja 27 III TUNNUSLUKUJA Tuuslukuja 27 III TUNNUSLUKUJA Tuuslukuja 28 Tuuslukuja käytetää, ku tilastoaieistoa havaiollistetaa tiivistetysti yksittäisillä luvuilla. Tuusluvut lasketaa muuttujie arvoje perusteella ja e kuvaavat

Lisätiedot

5 Kertaluokkamerkinnät

5 Kertaluokkamerkinnät TIE-20100 Tietorakenteet ja algoritmit 75 5 Kertaluokkamerkinnät Tässä luvussa käsitellään asymptoottisessa analyysissa käytettyjä matemaattisia merkintätapoja Määritellään tarkemmin Θ, sekä kaksi muuta

Lisätiedot

4 Tehokkuus ja algoritmien suunnittelu

4 Tehokkuus ja algoritmien suunnittelu TIE-20100 Tietorakenteet ja algoritmit 52 4 Tehokkuus ja algoritmien suunnittelu Tässä luvussa pohditaan tehokkuuden käsitettä ja esitellään kurssilla käytetty kertaluokkanotaatio, jolla kuvataan algoritmin

Lisätiedot

RATKAISUT x 2 3 = x 2 + 2x + 1, eli 2x 2 2x 4 = 0, joka on yhtäpitävä yhtälön x 2 x 2 = 0. Toisen asteen yhtälön ratkaisukaavalla saadaan

RATKAISUT x 2 3 = x 2 + 2x + 1, eli 2x 2 2x 4 = 0, joka on yhtäpitävä yhtälön x 2 x 2 = 0. Toisen asteen yhtälön ratkaisukaavalla saadaan RATKAISUT 8 17 8 a) Paraabelie y x ja y x + x + 1 leikkauspisteet saadaa määritettyä, ku esi ratkaistaa yhtälö x x + x + 1, eli x x, joka o yhtäpitävä yhtälö x x. Toise astee yhtälö ratkaisukaavalla saadaa

Lisätiedot

8. Lajittelu, joukot ja valinta

8. Lajittelu, joukot ja valinta 8. Lajittelu, joukot ja valinta Yksi tietojenkäsittelyn klassisista tehtävistä on lajittelu (järjestäminen) (sorting) jo mekaanisten tietojenkäsittelylaitteiden ajalta. Lajiteltua tietoa tarvitaan lukemattomissa

Lisätiedot

3 Lukujonot matemaattisena mallina

3 Lukujonot matemaattisena mallina 3 Lukujoot matemaattisea mallia 3. Aritmeettie ja geometrie joo 64. a) Lukujoo o aritmeettie joo, joka yleie jäse o a 3 ( ) 4 34 4 4 b) Lukujoo o geometrie joo, joka yleie jäse o c) Lukujoo o geometrie

Lisätiedot

Markov-ketjun hetkittäinen käyttäytyminen

Markov-ketjun hetkittäinen käyttäytyminen Matematiika ja systeemiaalyysi laitos 1B Markov-ketju hetkittäie käyttäytymie Tämä harjoitukse tavoitteea o oppia muodostamaa Markov-malleja satuaisilmiöille, piirtämää tiettyä siirtymämatriisia vastaava

Lisätiedot

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

Tietorakenteet, laskuharjoitus 10, ratkaisuja. 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] = = T [i + 1] 4 return True 5

Lisätiedot

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 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ätiedot

Epäyhtälöoppia matematiikkaolympialaisten tehtäviin

Epäyhtälöoppia matematiikkaolympialaisten tehtäviin Epäyhtälöoppia matematiikkaolympialaiste tehtävii Jari Lappalaie ja Ae-Maria Ervall-Hytöe 0 Johdato Epäyhtälöitä reaaliluvuille Cauchy epäyhtälö Kaikille reaaliluvuille a, a,, a ja b, b,, b pätee Cauchy

Lisätiedot

3 Lajittelualgoritmeista

3 Lajittelualgoritmeista 3 Lajittelualgoritmeista Tässä osassa käsitellään edistyneempiä lajittelualgoritmeja, erityisesti keko- ja pikalajitteluja. Lisäksi perehdytään hieman lajittelualgoritmien suorituskyvyn rajoihin. Materiaali

Lisätiedot

Päähakemisto Tehtävien ratkaisut -hakemisto. 203. Vuosi Indeksi 2008 108,3 2012 116,7. a) Jakamalla 1,07756 7,76 %. c) Jakamalla 0,92802

Päähakemisto Tehtävien ratkaisut -hakemisto. 203. Vuosi Indeksi 2008 108,3 2012 116,7. a) Jakamalla 1,07756 7,76 %. c) Jakamalla 0,92802 Päähakemisto Tehtävie ratkaisut -hakemisto 2 Raha 202. Vuosi Ideksi 2007 104,1 2009 108,3 108,3 a) Jakamalla 1,040345 104,1 saadaa iflaatioprosetiksi 4,03 %. 104,1 b) Jakamalla 0,96121 saadaa, että raha

Lisätiedot

Päähakemisto Tehtävien ratkaisut -hakemisto. 203. Vuosi Indeksi 2003 105,1 2007 110,8. a) Jakamalla 110,8 1,05423 saadaan inflaatioprosentiksi noin

Päähakemisto Tehtävien ratkaisut -hakemisto. 203. Vuosi Indeksi 2003 105,1 2007 110,8. a) Jakamalla 110,8 1,05423 saadaan inflaatioprosentiksi noin Päähakemisto Tehtävie ratkaisut -hakemisto 2 Raha 202. Vuosi Ideksi 2002 104,2 2004 106,2 a) Jakamalla 106,2 1,01919 saadaa iflaatioprosetiksi 1,92 %. 104,2 b) Jakamalla 104,2 0,98116 saadaa, että raha

Lisätiedot

Diskreetin Matematiikan Paja Ratkaisuja viikolle 4. ( ) Jeremias Berg. n(n + 1) 2. k =

Diskreetin Matematiikan Paja Ratkaisuja viikolle 4. ( ) Jeremias Berg. n(n + 1) 2. k = Diskreeti Matematiika Paja Ratkaisuja viikolle 4. (7.4-8.4) Jeremias Berg. Osoita iduktiolla että k = ( + ) Ratkaisu: Kute kaikissa iduktiotodistuksissa meidä täytyy siis osoittaa asiaa. Ns. perustapaus,

Lisätiedot

3.9. Mallintaminen lukujonojen avulla harjoituksia

3.9. Mallintaminen lukujonojen avulla harjoituksia 3.9 Mallitamie lukujooje avulla harjoituksia 3.9. Mallitamie lukujooje avulla harjoituksia Lukujoo määritelmä harjoituksia 3. Laske lukujoo viisi esimmäistä jäsetä, ku a) a 6 ja b) a 6 ja 3 8 c) a ja 3

Lisätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

10 Kertolaskusääntö. Kahta tapahtumaa tai satunnaisilmiötä sanotaan riippumattomiksi, jos toisen tulos ei millään tavalla vaikuta toiseen.

10 Kertolaskusääntö. Kahta tapahtumaa tai satunnaisilmiötä sanotaan riippumattomiksi, jos toisen tulos ei millään tavalla vaikuta toiseen. 10 Kertolaskusäätö Kahta tapahtumaa tai satuaisilmiötä saotaa riippumattomiksi, jos toise tulos ei millää tavalla vaikuta toisee. Esim. 1 A = (Heitetää oppaa kerra) ja B = (vedetää yksi kortti pakasta).

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 2 7.-8.2.2018 Timo Männikkö Tehtävä 1 (a) Ei-rekursiivinen algoritmi: etsipienin(t, n) { pnn = t[0]; for (i = 1; i < n; i++) { pnn = min(pnn, t[i]); return pnn; Silmukka suoritetaan

Lisätiedot

1 Erilaisia tapoja järjestää

1 Erilaisia tapoja järjestää TIE-20100 Tietorakenteet ja algoritmit 1 1 Erilaisia tapoja järjestää Käsitellään seuraavaksi järjestämisalgoritmeja, jotka perustuvat muihin kuin vertailuun alkioiden oikean järjestyksen saamiseksi. Lisäksi

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet 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ätiedot

1 Eksponenttifunktion määritelmä

1 Eksponenttifunktion määritelmä Ekspoettifuktio määritelmä Selvitimme aikaisemmi tällä kurssilla, millaie potessisarja säilyy derivoiissa muuttumattomaa. Se perusteella määritellää: Määritelmä. Ekspoettifuktio exp : R R määritellää lausekkeella

Lisätiedot

Sormenjälkimenetelmät

Sormenjälkimenetelmät Sormejälkimeetelmät Matti Risteli mristeli@iksula.hut.fi Semiaariesitelmä 23.4.2008 T-106.5800 Satuaisalgoritmit Tietotekiika laitos Tekillie korkeakoulu Tiivistelmä Sormejälkimeetelmät ovat satuaisuutta

Lisätiedot

MATA172 Sami Yrjänheikki Harjoitus Totta vai Tarua? Lyhyt perustelu tai vastaesimerkki!

MATA172 Sami Yrjänheikki Harjoitus Totta vai Tarua? Lyhyt perustelu tai vastaesimerkki! MATA17 Sami Yrjäheikki Harjoitus 7 1.1.018 Tehtävä 1 Totta vai Tarua? Lyhyt perustelu tai vastaesimerkki! (a) Jokaie jatkuva fuktio f : R R o tasaisesti jatkuva. (b) Jokaie jatkuva fuktio f : [0, 1[ R

Lisätiedot

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 5 (6 sivua)

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 5 (6 sivua) Algebra I Matematiika ja tilastotietee laitos Ratkaisuehdotuksia harjoituksii 5 (6 sivua) 14.2. 17.2.2011 1. Määritellää kuvaus f : S 3 S 3, f(α) = (123) α. Osoita, että f o bijektio. Mikä o se kääteiskuvaukse

Lisätiedot

Harjoitustehtävien ratkaisuja

Harjoitustehtävien ratkaisuja 3. Mallitamie lukujooje avulla Lukujoo määritelmä harjoituksia Harjoitustehtävie ratkaisuja 3. Laske lukujoo viisi esimmäistä jäsetä, ku a) a 6 ja b) a 6 ja 3 8 c) a ja 3 a) 6,, 8, 4, 30. b) 8,, 6, 0,

Lisätiedot

9 Erilaisia tapoja järjestää

9 Erilaisia tapoja järjestää TIE-20100 Tietorakenteet ja algoritmit 198 9 Erilaisia tapoja järjestää Käsitellään seuraavaksi järjestämisalgoritmeja, jotka perustuvat muihin kuin vertailuun alkioiden oikean järjestyksen saamiseksi.

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet 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ätiedot

Algoritmit 2. Luento 2 Ke Timo Männikkö

Algoritmit 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ätiedot

1 Puu, Keko ja Prioriteettijono

1 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ätiedot

Algoritmit 2. Demot Timo Männikkö

Algoritmit 2. Demot Timo Männikkö Algoritmit 2 Demot 1 27.-28.3.2019 Timo Männikkö Tehtävä 1 (a) 4n 2 + n + 4 = O(n 2 ) c, n 0 > 0 : 0 4n 2 + n + 4 cn 2 n n 0 Vasen aina tosi Oikea tosi, jos (c 4)n 2 n 4 0, joten oltava c > 4 Kokeillaan

Lisätiedot

Markov-ketjun hetkittäinen käyttäytyminen

Markov-ketjun hetkittäinen käyttäytyminen Matematiika ja systeemiaalyysi laitos B Markov-ketju hetkittäie käyttäytymie Tämä harjoitukse tavoitteea o oppia muodostamaa Markov-malleja satuaisilmiöille, piirtämää tiettyä siirtymämatriisia vastaava

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiika tukikurssi Kertauslueto. välikokeesee Algebraa Tämäkertaie kurssimoiste sisältää rusaasti harjoitustehtäviä. Syyä tähä o se, että matematiikkaa oppii parhaite itse tekemällä ja laskemalla.

Lisätiedot

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

58131 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ätiedot

Matematiikan tukikurssi. Kertausta 1. välikokeeseen. Tehtävät

Matematiikan tukikurssi. Kertausta 1. välikokeeseen. Tehtävät Matematiika tukikurssi Kertausta. välikokeesee Tehtävät Algebraa Tämä kappale sisältää rusaasti harjoitustehtäviä. Suurimpaa osaa tehtävistä löytyy ratkaisut lopusta. Syyä rusaasee tehtävämäärää o, että

Lisätiedot

TIE Tietorakenteet ja algoritmit 25

TIE Tietorakenteet ja algoritmit 25 TIE-20100 Tietorakenteet ja algoritmit 25 Tällä kurssilla keskitytään algoritmien ideoihin ja algoritmit esitetään useimmiten pseudokoodina ilman laillisuustarkistuksia, virheiden käsittelyä yms. Otetaan

Lisätiedot

Otantajakauma. Otantajakauman käyttö päättelyssä. Otantajakauman käyttö päättelyssä

Otantajakauma. Otantajakauman käyttö päättelyssä. Otantajakauman käyttö päättelyssä Otatajakauma kuvaa tarkasteltava parametri jakauma eri otoksista laskettua parametria o joki yleesä tuusluku, esim. keskiarvo, suhteellie osuus, riskisuhde, korrelaatiokerroi, regressiokerroi, je. parametria

Lisätiedot

LIITTEET Liite A Stirlingin kaavan tarkkuudesta...2. Liite B Lagrangen kertoimet...3

LIITTEET Liite A Stirlingin kaavan tarkkuudesta...2. Liite B Lagrangen kertoimet...3 LIITTEET... 2 Liite A Stirligi kaava tarkkuudesta...2 Liite B Lagrage kertoimet... 2 Liitteet Liitteet Liite A Stirligi kaava tarkkuudesta Luoollista logaritmia suureesta! approksimoidaa usei Stirligi

Lisätiedot

811312A Tietorakenteet ja algoritmit, 2015-2016. VI Algoritmien suunnitteluparadigmoja

811312A Tietorakenteet ja algoritmit, 2015-2016. VI Algoritmien suunnitteluparadigmoja 811312A Tietorakenteet ja algoritmit, 2015-2016 VI Algoritmien suunnitteluparadigmoja Sisältö 1. Hajota ja hallitse-menetelmä 2. Dynaaminen taulukointi 3. Ahneet algoritmit 4. Peruuttavat algoritmit 811312A

Lisätiedot

Äärettämän sarjan (tai vain sarjan) sanotaan suppenevan eli konvergoivan, jos raja-arvo lims

Äärettämän sarjan (tai vain sarjan) sanotaan suppenevan eli konvergoivan, jos raja-arvo lims 75 4 POTENSSISARJOJA 4.1 ÄÄRETTÖMÄT SARJAT Lukujoo { a k } summaa S a a a a a k 0 1 k k0 saotaa äärettömäksi sarjaksi. Summa o s. osasumma. S a a a a a k 0 1 k0 Äärettämä sarja (tai vai sarja) saotaa suppeeva

Lisätiedot

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

58131 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ätiedot

Tarkastellaan ympyräsylinterin käyttäytymistä eri muotoisilla tukipinnoilla. Oletetaan sylinterin vierintävastus merkityksettömäksi.

Tarkastellaan ympyräsylinterin käyttäytymistä eri muotoisilla tukipinnoilla. Oletetaan sylinterin vierintävastus merkityksettömäksi. NURJAHDUS ERUSKÄSITTEITÄ Katava raketee mitoitusperusteet ovat ujuus jäitykset eivät ylitä iille sallittuja arvoja Jäykkyys siirtymät ja muodomuutokset pysyvät ealta määrätyissä rajoissa Stabiilius raketee

Lisätiedot

Algoritmit 2. Luento 8 To Timo Männikkö

Algoritmit 2. Luento 8 To Timo Männikkö Algoritmit 2 Luento 8 To 4.4.2019 Timo Männikkö Luento 8 Algoritmien analysointi Algoritmien suunnittelu Rekursio Osittaminen Rekursioyhtälöt Rekursioyhtälön ratkaiseminen Master-lause Algoritmit 2 Kevät

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO

TAMPEREEN TEKNILLINEN YLIOPISTO TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja Tietokonetekniikan laitos TKT-3200 Tietokonetekniikka ASSEMBLER: QSORT 11.08.2010 Ryhmä 00 nimi1 email1 opnro1 nimi2 email2 opnro2 nimi3 email3 opnro3 1. TEHTÄVÄ

Lisätiedot

Lasketaan kullekin a euron maksuerälle erikseen, kuinka suureksi erä on n vuodessa kasvanut:

Lasketaan kullekin a euron maksuerälle erikseen, kuinka suureksi erä on n vuodessa kasvanut: Varsi arkiäiväisiä, geometrise joo teoriaa liittyviä käytäö sovellutuksia ovat jaksottaisii maksuihi ja kuoletuslaiaa (auiteettilaiaa) liittyvät robleemat. Tällaisii joutuu lähes jokaie yhteiskutakeloie

Lisätiedot

2.3.1. Aritmeettinen jono

2.3.1. Aritmeettinen jono .3.1. Aritmeettie joo -joo, jossa seuraava termi saadaa edellisestä lisäämällä sama luku a, a + d, a+d, a +3d, Aritmeettisessa joossa kahde peräkkäise termi erotus o aia vakio: Siis a +1 a d (vakio Joo

Lisätiedot

Ruletti ja Martingaalistrategia

Ruletti ja Martingaalistrategia POHDIN projekti Ruletti ja Martigaalistrategia Ruletti o uhkapeli, jossa pelaaja pyrkii veikkaamaa kuula pysähtymiskohda pyörivältä kehältä. Euroopassa käytettävässä ruletissa o käytössä 37 umeroa (0-36)

Lisätiedot

Algoritmit 1. Luento 2 Ke Timo Männikkö

Algoritmit 1. Luento 2 Ke Timo Männikkö Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät

Lisätiedot

TILASTOT: johdantoa ja käsitteitä

TILASTOT: johdantoa ja käsitteitä TILASTOT: johdatoa ja käsitteitä TOD.NÄK JA TILASTOT, MAA10 Tilastotietee tehtävää o esittää ja tulkita tutkimuskohteesee liittyvää havaitoaieistoa eli tilastoaieistoa. Tutkitaa valittua joukkoa ja se

Lisätiedot

SMG-4200 Sähkömagneettisten järjestelmien lämmönsiirto Ehdotukset harjoituksen 6 ratkaisuiksi

SMG-4200 Sähkömagneettisten järjestelmien lämmönsiirto Ehdotukset harjoituksen 6 ratkaisuiksi SMG-400 Sähkömageettiste järjestelmie lämmösiirto Ehdotukset harjoitukse 6 ratkaisuiksi Tarkastellaa suljetu järjestelmä tehotasaaioa joka o P + P P = P i g out st Oletetaa että verkotetussa alueessa jossa

Lisätiedot

ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012

ALGORITMIT 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ätiedot

3.2 Sijaintiluvut. MAB5: Tunnusluvut

3.2 Sijaintiluvut. MAB5: Tunnusluvut MAB5: Tuusluvut 3.2 Sijaitiluvut Sijaitiluvut ovat imesä mukaiset: e etsivät muuttuja tyypillise arvo, jos sellaie o olemassa, tai aiaki luvu, joka lähellä muuttuja arvoja o eite. Sijaitiluvut jaetaa kahtee

Lisätiedot

Tämä on helpompi ymmärtää, kun tulkitaan keko täydellisesti tasapainotetuksi binääripuuksi, jonka juuri on talletettu taulukon paikkaan

Tämä on helpompi ymmärtää, kun tulkitaan keko täydellisesti tasapainotetuksi binääripuuksi, jonka juuri on talletettu taulukon paikkaan TIE-20100 Tietorakenteet ja algoritmit 178 Keko Taulukko A[1... n] on keko, jos A[i] A[2i] ja A[i] A[2i + 1] aina kun 1 i n 2 (ja 2i + 1 n). Tämä on helpompi ymmärtää, kun tulkitaan keko täydellisesti

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 2 1.-2.2.2017 Timo Männikkö Tehtävä 1 (a) Ei-rekursiivinen algoritmi: laskesumma(t, n) sum = t[0]; for (i = 1; i < n; i++) sum = sum + t[i]; return sum; Silmukka suoritetaan n 1 kertaa

Lisätiedot

1. osa, ks. Solmu 2/ Kahden positiivisen luvun harmoninen, geometrinen, aritmeettinen ja + 1 u v 2 1

1. osa, ks. Solmu 2/ Kahden positiivisen luvun harmoninen, geometrinen, aritmeettinen ja + 1 u v 2 1 Epäyhtälötehtävie ratkaisuja. osa, ks. Solmu 2/200. Kahde positiivise luvu harmoie, geometrie, aritmeettie ja kotraharmoie keskiarvo määritellää yhtälöillä H = 2 +, G = uv, A = u + v 2 u v ja C = u2 +

Lisätiedot

useampi ns. avain (tai vertailuavain) esim. opiskelijaa kuvaavassa alkiossa vaikkapa opintopistemäärä tai opiskelijanumero

useampi ns. avain (tai vertailuavain) esim. opiskelijaa kuvaavassa alkiossa vaikkapa opintopistemäärä tai opiskelijanumero Alkioiden avaimet Usein tietoalkioille on mielekästä määrittää yksi tai useampi ns. avain (tai vertailuavain) esim. opiskelijaa kuvaavassa alkiossa vaikkapa opintopistemäärä tai opiskelijanumero 80 op

Lisätiedot

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

f(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ätiedot

2 Haku ja lajittelu. 2.1 Luvun hakeminen taulukosta X?? n-1. Haku ja lajittelu 35

2 Haku ja lajittelu. 2.1 Luvun hakeminen taulukosta X?? n-1. Haku ja lajittelu 35 Haku ja lajittelu 35 2 Haku ja lajittelu Tässä luvussa käsitellään tiedon hakemista taulukosta sekä taulukon lajittelua. Useista erilaisista lajittelumenetelmistä on kirjaan otettu suurehko osa. Lajittelumenetelmien

Lisätiedot

Luento 7 Luotettavuus Koherentit järjestelmät

Luento 7 Luotettavuus Koherentit järjestelmät Lueto 7 Luotettavuus Koheretit järjestelmät Ja-Erik Holmberg Systeemiaalyysi laboratorio Aalto-yliopisto perustieteide korkeakoulu PL 00, 00076 Aalto ja-erik.holmberg@riskpilot.fi Määritelmä Tarkasteltava

Lisätiedot

Luento 6 Luotettavuus Koherentit järjestelmät

Luento 6 Luotettavuus Koherentit järjestelmät Lueto 6 Luotettavuus Koheretit järjestelmät Ja-Erik Holmberg Systeemiaalyysi laboratorio PL 00, 00076 Aalto ja-erik.holmberg@riskpilot.fi ja-erik.holmberg@aalto.fi Määritelmä Tarkasteltava yksikö luotettavuus

Lisätiedot

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 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ätiedot

ja läpäisyaika lasketaan (esim) integraalilla (5.3.1), missä nyt reitti s on z-akselilla:

ja läpäisyaika lasketaan (esim) integraalilla (5.3.1), missä nyt reitti s on z-akselilla: 10 a) Valo opeus levyssä o vakio v 0 = c / 0, jote ajaksi matkalla L laskemme L t0 = = 0 L. v0 c b) Valo opeus levyssä riippuu z:sta: c c v ( z) = = ( z ) 0 (1 + 3az 3 ) ja läpäisyaika lasketaa (esim)

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT ALGORITMIEN ANALYYSISTÄ 1.ratkaisu Laskentaaika hakkeri - optimoitu ALGORITMIANALYYSIÄ hyvä algoritmi hakkeri -optimoitu hyvä algoritmi Tehtävän koko Kuva mukailtu

Lisätiedot

On annettu jono lukuja tai muita alkioita, joiden välille on määritelty suuruusjärjestys. Tehtävänä on saattaa alkiot suuruusjärjestykseen.

On annettu jono lukuja tai muita alkioita, joiden välille on määritelty suuruusjärjestys. Tehtävänä on saattaa alkiot suuruusjärjestykseen. 6. Järjestäminen On annettu jono lukuja tai muita alkioita, joiden välille on määritelty suuruusjärjestys. Tehtävänä on saattaa alkiot suuruusjärjestykseen. Tämä on eräs klassisimpia tietojenkäsittelyongelmia,

Lisätiedot

3.2 Polynomifunktion kulku. Lokaaliset ääriarvot

3.2 Polynomifunktion kulku. Lokaaliset ääriarvot 3. Polyomifuktio kulku. Lokaaliset ääriarvot Tähäastiste opitoje perusteella osataa piirtää esiasteise polyomifuktio kuvaaja, suora, ku se yhtälö o aettu. Osataa myös pääpiirtei hahmotella toise astee

Lisätiedot