Kurssiviikko 2

Itseopiskelu (videot ja kalvot suomeksi)

Luentokysymykset

Mitä oikeastaan mitataan, kun mitataan algoritmin tehokkuutta?
Miksi algoritmin asymptoottinen suorituskyky on kiinnostava?
Valitse oikeat väittämät
Miksi algoritmin ratkaisun laskemiseen kuluvan ajan mittaaminen ei ole toteuttamiskelpoinen tapa mitata algoritmin tehokkuutta?
Oletetaan, että meillä on pseudokoodi jollekin algoritmille A ja meille annetaan tehokkuusanalyysi tälle pseudokoodille. Mitä voimme tehdä tällä tehokkuusanalyysillä?
Missä ohjelmoinnin osa-alueissa järkevä tiedon jakaminen tehostaa algoritmia?
Oletetaan, että tietokonekieli X käyttää arvosemantiikkaa ja tietokonekieli Y viitesemantiikkaa. Oletetaan, että on olemassa suuri objekti A ja meillä on seuraava koodirivi: B=A. Mikä seuraavista on väärin?
Oletetaan, että C++:ssa jokainen taulukon A elementti sisältää suuren objektin. Useita tekniikoita voidaan käyttää A:n elementtien jakamiseen: osoittimet, älykkäät osoittimet, indeksit ja niin edelleen. Mitkä seuraavista ovat totta?
Rekursio on hyödyllinen, koska
Mitkä seuraavista kutsupinoa koskevista väittämistä ovat tosia rekursiolle?
Oletetaan, että taulukko A sisältää lukuja, jotka on järjestetty pienimmästä suurimpaan ja käytämme rekursiivista binäärihakua elementin etsimiseen. Mitkä seuraavista väitteistä ovat totta?
Oletetaan, että X on rekursiivinen funktio. Mikä seuraavista väitteistä on totta?
Muotoile kurssin kannalta keskeinen kysymys, johon tämän viikon videot antavat vastauksen.
Minkä videon aiheesta pitäisi erityisesti keskustella keskustelutilaisuudessa?
Oliko videoiden sisällössä jotain erityisen vaikeaa? Entä mielenkiintoista? Jotain josta haluaisit oppia lisää?

Palauta viikkotehtävät

Kysymyksiä tämän viikon aiheista