Tietorakenteet / syksy 2009 / Linna

Harjoitus 3, viikko 39

 

 

1.    Laadi ohjelma, joka kääntää jonon alkiot päinvastaiseksi pinon avulla.

 

 

2.    a) Tee ei-rekursiivinen ohjelma Fibonaccin lukujen laskemiseksi.

 

b) Vertaa rekursiivisen (luennolla esitetyn) ja ei-rekursiivisen ohjelman suoritta-mien yhteenlaskuoperaatioiden määrää laskettaessa Fibonaccin luku F(8).

 

 

3.    Tee selkoa miten yksisuuntainen lista voitaisiin toteuttaa taulukon avulla. Miten voitaisiin toteuttaa operaatiot Alkion_lisäys ja Alkion_poisto ja kuinka tehokkaasti ne voidaan toteuttaa? Tutki myös tapausta, missä alkiot pidetään koko ajan suuruusjärjestyksessä.

 

 

4.    Laadi jono-operaatioita käyttäen algoritmi Join(Q1,Q2), joka tyhjentää jonon

   Q2 ja liittää kaikki sen sisältämät alkiot jonon Q1 häntään.

 

 

5.    Muunna seuraavat sisämerkintäiset lausekkeet a) postfix-muotoon, b) prefix-

       muotoon:

 

       a)  a+b*c+d,              b)   a*b*c+d*e,           c)   (a+b)*(c+d*e)