A215 Tietorakenteet. Tietojenkäsittelytieteiden laitos Tampereen yliopisto. Periodit I-II, syksy 2007
|
|
- Eija Sofia Turunen
- 6 vuotta sitten
- Katselukertoja:
Transkriptio
1 Kurssiesittely Tietojenkäsittelytieteiden laitos Tampereen yliopisto A215 Tietorakenteet Periodit I-II, syksy 2007 Luennot/vastuuhenkilö: Heikki Hyyrö Sähköposti: Kurssin kotisivu: 10 op (5 ov) laajuinen aineopintotasoinen kurssi Pakollinen osa tietojenkäsittelyopin kandidaatin tutkielmaa 26 luentokertaa (52 tuntia) Pinni B:n luentosali B1097 Tiistaisin klo Keskiviikkoisin klo Viimeinen luento ke 5.12 Tietorakenteet, syksy Kurssiesittely 13 viikkoharjoituskertaa (26 tuntia) Linnan luentosali K108 Kolme eri ryhmää: tiistaisin klo 12-14, ja Ohjaajat: Pekka Niemenlehto (pekka.niemenlehto@cs.uta.fi) ja Jyri Saarikoski (jyri.saarikoski@cs.uta.fi) Ensimmäiset harjoitukset ti 11.9, viimeiset ti Tietorakenteet, syksy Kurssiesittely Harjoitustyö Tietorakenteisiin liittyvää ohjelmointia Javalla Aihe loka-marraskuussa Ohjaaja: Tuomas Talvensaari (tuomas.talvensaari@cs.uta.fi) Palautus tammikuussa 2008 Harjoitustyöhön liittyy tasapainotestin suorittaminen virtuaalilaboratoriossa Saatavaa testidataa voidaan hyödyntää harjoitustyön aineistona Tietorakenteet, syksy
2 Kurssiesittely Kurssin läpipääsy vaatii seuraavat osasuoritukset Tentti (13.12, uusintatentti tammikuussa 2008) Maksimi 30 pistettä, läpipääsyyraja 12 Viikkoharjoitukset: vähintään 20% tehtynä Tuottaa 0-5 pistettä Pisterajat: 33,33% = 1 p, 46,66% = 2 p, 60% = 3 p, 73,33% = 4 p, 86,66% = 5 p Harjoitustyön hyväksytty palautus Arvostellaan asteikolla 0-10 pistettä Kurssiesittely Tasapainotesti Antaa 3 lisäsuoritetta viikkoharjoitustehtäväsaldoon Kurssinumero asteikolla 1..5 määräytyy kokonaispistemäärän mukaan (välillä 12-40) Harjoitustehtävien avulla saatavissa olevat pisteet ovat bonuspisteitä Kysymyksiä kurssijärjestelyistä tms.? Tietorakenteet, syksy Tietorakenteet, syksy Tietorakenne: tapa tallentaa ja organisoida tietoa tiedon lukemisen ja/tai päivittämisen kannalta sopivalla tavalla Tietorakenteet, syksy Esim. nimiluettelo näin... SMITH ANDERSON CLARK JOHNSON THOMAS RODRIGUEZ WILLIAMS JACKSON LEWIS JONES WHITE LEE BROWN HARRIS WALKER DAVIS MARTIN HALL MILLER THOMPSON ALLEN WILSON GARCIA YOUNG MOORE MARTINEZ HERNANDEZ TAYLOR ROBINSON KING Tietorakenteet, syksy
3 ...vain näin? ALLEN JOHNSON RODRIGUEZ ANDERSON JONES SMITH BROWN KING TAYLOR CLARK LEE THOMAS DAVIS LEWIS THOMPSON GARCIA MARTIN WALKER HALL MARTINEZ WHITE HARRIS MILLER WILLIAMS HERNANDEZ MOORE WILSON JACKSON ROBINSON YOUNG Tietorakenteet, syksy Tietorakenne: tapa tallentaa ja organisoida tietoa tiedon lukemisen ja/tai päivittämisen kannalta sopivalla tavalla Algoritmi: äärellinen joukko täsmällisesti määriteltyjä ohjeita jonkin tehtävän suorittamiseksi Korkean tason suunnittelussa kaksi tärkeää päämäärää: oikeellisuus tehokkuus Tietorakenteet, syksy Toteutukseen liittyviä tavoitteita vahvuus (eng. robustness) mukautuvuus uudelleenkäytettävyys Olioperustaisia suunnittelu/toteutusmenetelmiä abstraktio kapselointi modulaarisuus Sovellus Algoritmi1 Algoritmi2 Algoritmi3 Sovellus Algoritmi1 Algoritmi2 Algoritmi3 Tietorakenteet, syksy Tietorakenteet, syksy
4 Algoritmien analysoinnista Algoritmin tehokkuuden mittaaminen? haluttaisiin muodostaa funktio f(n), joka kuvaa algoritmin suoritusaikaa Algoritmien analysoinnista Kokeellinen analyysi? algoritmin suoritusaika t Algoritmi 1 Algoritmi 2 Syötteen koko (parametri) n Tietorakenteet, syksy Tietorakenteet, syksy Algoritmien analysoinnista Kokeellinen analyysi + sinänsä varmin tapa tutkia tietyn algoritmin suorituskykyä tietyn tehtävän ratkaisussa - vaikea arvioida algoritmin suorituskykyä kaikilla mahdollisilla syötteillä - algoritmien yleisempi vertailu/luokittelu hankalaa - vaatii algoritmin toteuttamisen Algoritmien analysoinnista Ajatus 2: suoritettujen perusoperaatioiden tarkka analysointi muodostetaan algoritmille alhaisen tason koodiesitys (esim. kännetään konekielelle) määritetään t i = alhaisen tason komennon i vaatima suoritusaika määritetään n i = alhaisen tason komennon i suoritusten lukumäärä kokonaisaika = Σ i (n i t i ) Ehkä tarkkaa, mutta työlästä ja laite/kieliriippuvaista! Tietorakenteet, syksy Tietorakenteet, syksy
5 Pseudokoodi Algoritmin tarkastelu paperilla: pseudokoodi Geneeristä ohjelmakoodia, jossa sivuutetaan tarpeettomat yksityiskohdat oleellista toiminta-askeleiden kuvaus, ei esim. pilkulleen tietynlainen syntaksi sekoitus luonnollista kieltä ja geneerisiä ohjelmointirakenteita (kontrollirakenteet, aliohjelmakutsut jne.) kuvaa algoritmin toiminnan riittävän täsmällisesti (asiayhteyden vaatimalla tarkkuudella) Tietorakenteet, syksy Pseudokoodi Algorithm OddCount(A, n) Input: Taulukko A, jossa n kokonaislukua Output: Tulostaa taulukon A parittomien lukujen lukumäärän odds 0 for i 0 to n 1 Do if A[i] on pariton then odds odds + 1 end if end for tulosta arvo odds return Tietorakenteet, syksy Pseudokoodi int OddCount( int A[ ], int n ) { /* Funktio OddCount C/C++ -kielellä */ int odds = 0, i = 0; for( i = 0; i < n; i++ ) { if( (A[i] % 2) == 1 ) { odds++; } } printf( %d\n, odds ); return; } Suoritusajan arviointi yleisellä tasolla Yhä ongelma: konkreettinen suoritusaika riippuu suoritusympäristöstä suoritusajan abstraktimpi tarkastelu? Suoritusaika kuitenkin aina verrannollinen suoritettujen operaatioiden lukumäärään funktion f(n) abstrakti aikayksikkö = suoritettavien alkeisoperaatioiden määrä Alkeisoperaatio: perusoperaatio, jonka suoritusaika oletetaan vakioksi Tietorakenteet, syksy Tietorakenteet, syksy
6 Alkeisoperaatiot Esim. seuraavat voidaan katsoa alkeisoperaatioiksi arvon asetus muuttujaan taulukon alkion muistipaikan laskenta olioviitteen laskenta kahden arvon vertailu aritmeettinen operaatio metodikutsu metodin arvon palauttaminen Esimerkki alkeisoperaatioiden määrän laskennasta Algorithm OddCount(A, n) odds 0 1 operaatio for i 0 to n 1 Do 2 alkuoperaatiota, 3 operaatiota if A[i] on pariton then odds odds + 1 end if end for return odds 2 operaatiota 2 operaatiota 1 operaatio Yhteismäärä? vähintään? n (3 + 2) + 1 = 4 + 5n enintään? n (3 + 4) + 1 = 4 + 7n Tietorakenteet, syksy Tietorakenteet, syksy Toinen esimerkki Algorithm OCRepeat(A, n) for i 1 to n Do 2 alkuoperaatiota, 3 operaatiota OddCount(A, i) end for return 1 + kork i operaatiota 1 operaatio Yhteismäärä enintään? 3+n (3+1)+Σ n i=1 (4+7i) = 3+4 n+4 n+7 Σ n i=1 i = 3+8 n+7 n(n+1)/2 Tietorakenteet, syksy
Algoritmit 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ätiedotAlgoritmit 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ätiedotTietorakenteet op, 50 h. Luennot alkavat 7.9. ja päättyvät
Tietorakenteet 2016 Martti Juhola luennot: Ke 7.9.2016-23.11.2016 viikoittain klo 10-12, Pinni ls B1097, huom. Aloitus päätalolla! Poikkeus: 7.9.2016 klo 10 12, PÄÄTALO ls D11 To 8.9.2016 klo 10-12, Pinni
Lisätiedotf(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))
Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia
LisätiedotAlgoritmit 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ätiedot811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto
811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien
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ä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ätiedotAlgoritmit 2. Luento 1 Ti Timo Männikkö
Algoritmit 2 Luento 1 Ti 14.3.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin valinta Algoritmin analysointi Algoritmin suoritusaika Peruskertaluokkia Kertaluokkamerkinnät Kertaluokkien ominaisuuksia
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
LisätiedotLyhyt kertaus osoittimista
, syksy 2007 Kertausta Luento 10 12.10.2007 Syksy 2007 1 Lyhyt kertaus osoittimista char *p; /* char, int, jne ilmoittavat, minkä tyyppisiä */ Keskusmuisti int *q; /* olioita sisältäviin muistilohkoihin
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
LisätiedotNopea kertolasku, Karatsuban algoritmi
Nopea kertolasku, Karatsuban algoritmi Mikko Männikkö 16.8.2004 Lähde: ((Gathen and Gerhard 1999) luku II.8) Esityksen kulku Algoritmien analysointia (1), (2), (3), (4) Klassinen kertolasku Parempi tapa
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ätiedotA215 Tietorakenteet. Tietojenkäsittelytieteiden laitos Tampereen yliopisto. Periodit I-II, syksy 2007
Kurssiesittely Tietojenkäsittelytieteiden laitos Tampereen yliopisto 25 Tietorakenteet Periodit I-II, syksy 2007 Luennot/vastuuhenkilö: Heikki Hyyrö Sähköposti: heikki.hyyro@cs.uta.fi Kurssin kotisivu:
Lisätiedot811312A 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ätiedot10. Painotetut graafit
10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä
LisätiedotAlgoritmit 1. Demot Timo Männikkö
Algoritmit 1 Demot 1 25.-26.1.2017 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka laskee kahden kokonaisluvun välisen jakojäännöksen käyttämättä lainkaan jakolaskuja Jaettava m, jakaja n Vähennetään luku
LisätiedotVastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet Kevät Olio-ohjelmoinnin perusteet (TIEA2.1)
Kurssiesite Olio-ohjelmoinnin perusteet Kevät 2017 Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Luennot,
LisätiedotKurssiesite Olio-ohjelmoinnin perusteet Kevät Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto
Kurssiesite Olio-ohjelmoinnin perusteet Kevät 2017 Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Luennot,
LisätiedotKurssijärjestelyt. CS-1180 Verkkojulkaisemisen perusteet (5 op) Hanna Hämäläinen Informaatioverkostot / Mediatekniikan laitos
Kurssijärjestelyt CS-1180 Verkkojulkaisemisen perusteet (5 op) Hanna Hämäläinen Informaatioverkostot / Mediatekniikan laitos (Alkuperäiset luentokalvot: Markku Laine) 10. Tammikuuta 2017 Luennon sisältö
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ätiedot811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta
811312A Tietorakenteet ja algoritmit 2017-2018 Kertausta kurssin alkuosasta II Perustietorakenteet Pino, jono ja listat tunnettava Osattava soveltaa rakenteita algoritmeissa Osattava päätellä operaatioiden
LisätiedotImperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi
Imperatiivisen ohjelmoinnin peruskäsitteet muuttuja muuttujissa oleva data voi olla yksinkertaista eli primitiivistä (esim. luvut ja merkit) tai rakenteista jolloin puhutaan tietorakenteista. puhuttaessa
Lisätiedot1 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ätiedotVastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet Kevät 2015. Olio-ohjelmoinnin perusteet (5 op) Tavoitteena
Kurssiesite Olio-ohjelmoinnin perusteet Kevät 2015 Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Luennot,
LisätiedotOliot ja tyypit. TIES542 Ohjelmointikielten periaatteet, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos
Oliot ja tyypit TIES542 Ohjelmointikielten periaatteet, kevät 2007 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 19. maaliskuuta 2007 Olion tyyppi? attribuutti on oikeastaan metodi,
LisätiedotJohnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.
Kokeellinen algoritmiikka (3 ov) syventäviä opintoja edeltävät opinnot: ainakin Tietorakenteet hyödyllisiä opintoja: ASA, Algoritmiohjelmointi suoritus harjoitustyöllä (ei tenttiä) Kirjallisuutta: Johnson,
LisätiedotKurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät 2018
Kurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät 2018 Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori.
Lisätiedot4 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ätiedotALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012
ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012 1.1. (a) Jaettava m, jakaja n. Vähennetään luku n luvusta m niin kauan kuin m pysyy ei-negatiivisena. Jos jäljelle jää nolla, jaettava oli tasan jaollinen. int m,
LisätiedotDiskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9
Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Tuntitehtävät 9-10 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 13-14 loppuviikon harjoituksissa. Kotitehtävät 11-12 tarkastetaan loppuviikon
LisätiedotTutkimusmenetelmät-kurssi, s-2004
Algoritmitutkimuksen menetelmistä Tutkimusmenetelmät-kurssi, s-2004 Pekka Kilpeläinen Kuopion yliopisto Tietojenkäsittelytieteen laitos Algoritmitutkimuksen menetelmistä p.1/20 Sisällys Tänään Tietojenkäsittelytiede
LisätiedotVastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät Olio-ohjelmoinnin perusteet (eli Oope) Laajuus
Kurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät 2018 Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori.
LisätiedotAlgoritmit 1. Luento 10 Ke 11.2.2015. Timo Männikkö
Algoritmit 1 Luento 10 Ke 11.2.2015 Timo Männikkö Luento 10 Algoritminen ongelman ratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Väliinsijoituslajittelu Valintalajittelu
LisätiedotTietueet. Tietueiden määrittely
Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään
LisätiedotA274101 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ätiedotKurssijärjestelyt. ME-C2300 Verkkojulkaisemisen perusteet (5 op) Mari Hirvi Informaatioverkostot / Mediatekniikan laitos
Kurssijärjestelyt ME-C2300 Verkkojulkaisemisen perusteet (5 op) Mari Hirvi Informaatioverkostot / Mediatekniikan laitos (Alkuperäiset luentokalvot: Markku Laine) 8. syyskuuta 2015 Luennon sisältö Kurssin
LisätiedotAlgoritmit 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ätiedotKurssiesite Olio-ohjelmoinnin perusteet Kevät Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto
Kurssiesite Olio-ohjelmoinnin perusteet Kevät 2016 Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Luennot,
Lisätiedot(p j b (i, j) + p i b (j, i)) (p j b (i, j) + p i (1 b (i, j)) p i. tähän. Palaamme sanakirjaongelmaan vielä tasoitetun analyysin yhteydessä.
Loppu seuraa suoralla laskulla: n n Tave TR = p j (1 + b (i, j)) j=1 = 1 + 1 i
LisätiedotAlgoritmit 1. Demot Timo Männikkö
Algoritmit 1 Demot 1 31.1.-1.2.2018 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka tutkii onko kokonaisluku tasan jaollinen jollain toisella kokonaisluvulla siten, että ei käytetä lainkaan jakolaskuja Jaettava
LisätiedotNumeeriset menetelmät
Numeeriset menetelmät Luento 3 Ti 13.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 3 Ti 13.9.2011 p. 1/37 p. 1/37 Epälineaariset yhtälöt Newtonin menetelmä: x n+1 = x n f(x n) f (x n ) Sekanttimenetelmä:
LisätiedotOhjelmointi II. Erkki Pesonen Luennot ja harjoitukset. Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015
Ohjelmointi II Erkki Pesonen Luennot ja harjoitukset Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015 1 Johdantoa kurssilla opiskeluun: oppimistavoitteet. 1. Tiedän mitä asioita kurssilla opiskellaan
Lisätiedot58131 Tietorakenteet ja algoritmit (syksy 2015)
58131 Tietorakenteet ja algoritmit (syksy 2015) Harjoitus 2 (14. 18.9.2015) Huom. Sinun on tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. 1. Erään algoritmin suoritus vie 1 ms, kun syötteen
LisätiedotKurssiesite. Rakentamisen tekniikat RAK-C3004
RAK-C3004 Rakentamisen tekniikat Kurssiesite Syksy 2015, periodi I Hannu Hirsi (vastaava opettaja) & Lauri Salokangas & Jouko Pakanen & Johannes Hämeri & Toomla Sander & Markku Ylinen & vierailevat tähtiluennoitsijat
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 22. huhtikuuta 2016 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille! Kirjoittamasi luokat, funktiot ja aliohjelmat
LisätiedotTentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.
Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen
LisätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Kurssin sisältö pääpiirteittäin Tarvittavat pohjatiedot Avainsanat Abstraktio Esimerkkiohjelman tehtäväkuvaus Abstraktion käyttö tehtävässä Abstrakti tietotyyppi Hyötyjä ADT:n
LisätiedotHarjoitus 4 (viikko 47)
Kaikki tämän harjoituksen tehtävät liittyvät joko suoraan tai epäsuorasti kurssin toiseen harjoitustyöhön. Saa hyvän alun harjoitustyön tekoon, kun ratkaiset mahdollisimman monta tehtävää. Mikäli tehtävissä
LisätiedotITKP102 Ohjelmointi 1 (6 op), arvosteluraportti
ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 8. kesäkuuta 2018 Yleistä Tentti 1 meni pistekeskiarvon (11.2) perusteella välttävästi. Omasta tehtäväpaperista saa kopion
LisätiedotTT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)
TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Info 15/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Info 2) Arvostelu 3) Kurssin sisältö 4) Alustava aikataulu 5) Projekti 6) Kertaustarve
LisätiedotLaskennan teoria
581336-0 Laskennan teoria luennot syyslukukaudella 2003 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa esitiedot käytännössä
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ätiedotTutki ja kirjoita -kurssi, s-2005
Teoreettisen tutkimuksen raportoinnista Tutki ja kirjoita -kurssi, s-2005 Pekka Kilpeläinen Kuopion yliopisto Tietojenkäsittelytieteen laitos Teoreettisen tutkimuksen raportoinnista p.1/14 Sisältö Algoritmisten
LisätiedotTietorakenteet ja algoritmit syksy Laskuharjoitus 1
Tietorakenteet ja algoritmit syksy 2012 Laskuharjoitus 1 1. Tietojenkäsittelijä voi ajatella logaritmia usein seuraavasti: a-kantainen logaritmi log a n kertoo, kuinka monta kertaa luku n pitää jakaa a:lla,
LisätiedotTietorakenteet, laskuharjoitus 3, ratkaisuja
Tietorakenteet, laskuharjoitus 3, ratkaisuja 1. (a) Toistolauseen runko-osassa tehdään yksi laskuoperaatio, runko on siis vakioaikainen. Jos syöte on n, suoritetaan runko n kertaa, eli aikavaativuus kokonaisuudessaan
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ätiedotSAS-ohjelmiston perusteet 2010
SAS-ohjelmiston perusteet 2010 Luentorunko/päiväkirja Ari Virtanen 11.1.10 päivitetään luentojen edetessä Ilmoitusasioita Opintojakso suoritustapana on aktiivinen osallistuminen harjoituksiin ja harjoitustehtävien
LisätiedotLuento 5. Timo Savola. 28. huhtikuuta 2006
UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke
LisätiedotMäärittelydokumentti
Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2009 1 / 25 Mihin teekkari / diplomi-insinööri tarvitsee ohjelmointia? Pienten laskentasovellusten kirjoittaminen.
LisätiedotIDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit
IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
LisätiedotATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014
18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
LisätiedotNumeeriset menetelmät
Numeeriset menetelmät Luento 2 To 8.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 2 To 8.9.2011 p. 1/33 p. 1/33 Lukujen tallennus Kiintoluvut (integer) tarkka esitys aritmeettiset operaatiot
LisätiedotTietotekniikan valintakoe
Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan
LisätiedotJOHDATUS TEKOÄLYYN TEEMU ROOS
JOHDATUS TEKOÄLYYN TEEMU ROOS KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 4 OP PERIODI 1: 6.9.2012-12.10.2012 (6 VIIKKOA) LUENNOT (B123, LINUS TORVALDS -AUDITORIO): TO 10-12, PE 12-14 LASKUHARJOITUKSET
Lisätiedot// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.
Lue kukin tehtävänanto huolellisesti ja kokonaisuudessaan ennen kuin aloitat vastaamisen. Kustakin tehtävästä voi saada 0 6 pistettä. Tentin läpipääsyraja on 12 / 24 pistettä. Ratkaisut palautetaan WETO-järjestelmään
LisätiedotAlgoritmit 2. Luento 7 Ti Timo Männikkö
Algoritmit 2 Luento 7 Ti 4.4.2017 Timo Männikkö Luento 7 Joukot Joukko-operaatioita Joukkojen esitystapoja Alkiovieraat osajoukot Toteutus puurakenteena Algoritmit 2 Kevät 2017 Luento 7 Ti 4.4.2017 2/26
Lisätiedot58131 Tietorakenteet ja algoritmit (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ätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 12. huhtikuuta 2019 Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä. Yksi A4-kokoinen lunttilappu
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat
LisätiedotSisältö. 22. Taulukot. Yleistä. Yleistä
Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä
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ätiedot811312A 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ätiedotELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
LisätiedotTentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.
Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen
Lisätiedot811312A 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// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.
Lue kukin tehtävänanto huolellisesti ja kokonaisuudessaan ennen kuin aloitat vastaamisen. Kustakin tehtävästä voi saada 0 6 pistettä. Tentin läpipääsyraja on 12 / 24 pistettä. Ratkaisut palautetaan WETO-järjestelmään
Lisätiedot7.4 Sormenjälkitekniikka
7.4 Sormenjälkitekniikka Tarkastellaan ensimmäisenä esimerkkinä pitkien merkkijonojen vertailua. Ongelma: Ajatellaan, että kaksi n-bittistä (n 1) tiedostoa x ja y sijaitsee eri tietokoneilla. Halutaan
Lisätiedotn! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja.
IsoInt Tietokoneiden muisti koostuu yksittäisistä muistisanoista, jotka nykyaikaisissa koneissa ovat 64 bitin pituisia. Muistisanan koko asettaa teknisen rajoituksen sille, kuinka suuria lukuja tietokone
Lisätiedotuseampi 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ätiedot5 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ätiedotHAHMONTUNNISTUKSEN PERUSTEET
HAHMONTUNNISTUKSEN PERUSTEET T-61.3020, 4 op., Kevät 2008 Luennot: Laskuharjoitukset: Harjoitustyö: Erkki Oja Elia Liiitiäinen Elia Liitiäinen TKK, Tietojenkäsittelytieteen laitos 1 FOREIGN STUDENTS Lectures
LisätiedotT harjoitustehtävät, syksy 2011
T-110.4100 harjoitustehtävät, syksy 2011 Kurssiassistentit Tietotekniikan laitos Perustieteiden korkeakoulu Aalto-yliopisto T-110.4100@tkk.fi Yleistä Kurssin osasuoritteita ovat kaksi osatenttiä ja harjoitustehtävät
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotKoottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.
2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet
LisätiedotOhjelmointi 2 / 2010 Välikoe / 26.3
Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään
LisätiedotSisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.
Lisätiedot7/20: Paketti kasassa ensimmäistä kertaa
Ohjelmointi 1 / syksy 2007 7/20: Paketti kasassa ensimmäistä kertaa Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 5: Sijoituslause, SICP-oliot, tietorakenteen muuttaminen (mm. SICP 33.1.3, 3.33.3.2) Riku Saikkonen 6. 11. 2012 Sisältö 1 Muuttujan arvon muuttaminen:
Lisätiedot811312A Tietorakenteet ja algoritmit III Lajittelualgoritmeista
811312A Tietorakenteet ja algoritmit 2016-2017 III Lajittelualgoritmeista Sisältö 1. Johdanto 2. Pikalajittelu 3. Kekolajittelu 4. Lajittelualgoritmien suorituskyvyn rajoista 811312A TRA, Lajittelualgoritmeista
Lisätiedot2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)
2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi
LisätiedotInteraktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.
Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen
LisätiedotKurssiesite Lausekielinen ohjelmointi Syksy Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto
Kurssiesite Lausekielinen ohjelmointi Syksy 2014 Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, lehtori. Luennot, mikroharjoitukset,
LisätiedotSe mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.
Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta
LisätiedotShorin algoritmin matematiikkaa Edvard Fagerholm
Edvard Fagerholm 1 Määritelmiä Määritelmä 1 Ryhmä G on syklinen, jos a G s.e. G = a. Määritelmä 2 Olkoon G ryhmä. Tällöin alkion a G kertaluku ord(a) on pienin luku n N \ {0}, jolla a n = 1. Jos lukua
Lisätiedot10. Painotetut graafit
10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä
LisätiedotOhjelmointi 1 / 2009 syksy Tentti / 18.12
Tentti / 18.12 Vastaa yhteensä neljään tehtävään (huomaa että tehtävissä voi olla useita alakohtia), joista yksi on tehtävä 5. Voit siis valita kolme tehtävistä 1 4 ja tehtävä 5 on pakollinen. Vastaa JOKAISEN
LisätiedotKurssiesite Lausekielinen ohjelmointi II Syksy Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto
Kurssiesite Lausekielinen ohjelmointi II Syksy 2016 Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Luennot,
Lisätiedot