next up previous
Next: About this document Up: No Title Previous: No Title

TIE211 Tietorakenteet ja algoritmit 2
Loppukoe ke 20.1.1999 klo 8-12

  1. Laadi algoritmi, jonka suoritusaikaa vakiotekijöitä lukuunottamatta kuvaa rekursioyhtälö

    eqnarray20

    Algoritmi saa syötteenään n-alkioisen taulukon A[1..n], mutta sillä, mitä algoritmi varsinaisesti tekee, ei ole merkitystä. Määritä em. rekursioyhtälön ratkaisun kertaluokka, kun n on kahden potenssi.

  2. Ns. Eulerin luku tex2html_wrap_inline81 ilmaisee, monessako joukon tex2html_wrap_inline83 permutaatiossa tex2html_wrap_inline85 on tasan k nousua, so. positiota i joissa tex2html_wrap_inline91 . Luvut voidaan laskea rekursioyhtälöstä:

    displaymath73

    Laadi em. kaavoihin perustuva kohtuullisen tehokas algoritmi luvun tex2html_wrap_inline81 määrittämiseksi. Mikä on algoritmisi aika- ja tilavaativuus?

  3. Suunnittele peruuttava algoritmi ns. n kuningattaren ongelman ratkaisemiseen: tex2html_wrap_inline97 -shakkilaudalle on sijoitettava (mikäli mahdollista) n kuningatarta niin, että ne eivät uhkaa toisiaan, so. niin että mitkään kaksi nappulaa eivät ole keskenään samalla laudan rivillä, sarakkeella eivätkä diagonaalilla. Mikä on algoritmisi aikavaativuus?
  4. Määrittele seuraavat käsitteet: ongelmaluokka NP, polynominen palautus, NP-täydellinen ongelma. Anna kaksi esimerkkiä NP-täydellisistä ongelmista ja osoita, että niiden välillä vallitsee polynominen palautusrelaatio. (Yhdensuuntainen palautus riittää, palautusekvivalenssia ei tarvitse osoittaa.)

Pisteytys: Kukin tehtävä 15 pistettä, yhteensä 60 pistettä.



Pekka Orponen
Thu Jan 21 13:58:38 EET 1999