vaje pri predmetih algoritmi in podatkovne strukture ter podatkovne strukture splosna navodila za izdelavo vaj lahko uporabite poljuben objektni programski jezik pri zagovoru vaj potrebujete dokumentirano verzijo programov listing na papirju disketi ali na racunalniku ter izvedljivo verzijo programa za demonstracijo delovanja pri programira nju skusajte v cim vecji meri uporabiti objektno programiranje seznam nalog izdelajte osnovne rutine za delo s skladom vrsto in seznamom structure sklad podatek boolean declare pripravi ® s vstavi p s ® s odstrani s ® s vrh s ® p prazen s ® boolean where prazen pripravi true prazen vstavi p s false odstrani pripravi napaka odstrani vstavi p s s vrh pripravi napaka vrh vstavi p s p end structure vrsta podatek boolean declare pripravi ® v vstavi p v ® v odstrani v ® v zacetek v ® p prazna v ® boolean where prazen pripravi true prazen vstavi p v false odstrani pripravi napaka odstrani vstavi p v if prazna v then pripravi else vstavi p ostrani v zacetek pripravi napaka zacetek vstavi p v if prazna v then p else zacetek v end structure seznam podatek indeks declare pripravi ® s vstavi s i p ® s vrini s i p ® s vrni s i ® p odstrani s i ® s where vrini vstavi s j q i p if j i then vstavi vrini s i p j q else vstavi vrini s i p j q vrni pripravi i napaka vrni vstavi s j p i if i j then p else vrni s i odstrani pripravi i pripravi ali napaka odstrani vstavi s j p i if i j then odstrani s i else if j i then vstavi odstrani s i j p else vstavi odstrani s i j p end izdelajte se pomozne rutine za vnos in izpis podatkov izdelajte dve verziji rutin v prvi uporabite dinamicne podatkovne strukture kazalce in v drugi staticne tabela razmislite kako bi lahko v teh strukturah hranili podatke razlicnih tipov cela in realna stevila nize znakov kompleksnejse strukture ipd izdelajte tudi program e s katerim boste lahko testirali in demonstrirali delovanje posameznih rutin izdelajte osnovne rutine za delo z mnozicami pomagajte si z dedovanjem iz ene izmed podatkovnih struktur iz prve vaje realizirajte presek m m ® m unija m m ® m razlika m m ® m pri cemer veljajo klasicna pravila za delo z mnozicami izdelajte tudi program s katerim boste lahko testirali in prikazali delovanje posameznih rutin izdelajte rutine za delo s polinomi sestej p p ® p odstej p p ® p zmnozi p p ® p deli p p ® p p odvod p ® p integral p ® p nicle p ® seznam realnih nicel polinoma razcep p ® seznam realnih razcepov polinoma za realizacijo si izberite po vasi oceni najprimernejso podatkovno strukturo program naj bo sposoben obdelovati tudi polinome visjih stopenj izdelajte tudi program s katerim boste lahko testirali in prikazali delovanje posameznih rutin izdelajte rutine za delo z nizi znakov predstavljenimi z dedovanjem iz ene od podatkovnih tipov iz prve naloge sestavi n n ® n konkatenacija zlepek podniz n pozicija dolzina ® n pozicija n n ® pozicija pozicija prvega niza v drugem ali izdelajte tudi program s katerim boste lahko testirali in prikazali delovanje posameznih rutin izdelajte rutine za delo z redkimi matrikami redke matrike imajo to lastnost da pomnilniski prostor zasedajo samo elementi ki so razlicni od nic zaradi tega je mozno v racunalniku hraniti tudi matrike relativno zelo velikih dimenzij sestej m m ® m zmnozi m m ® m determinanta m ® determinanta inverz m ® m' inverzna matrika izdelajte tudi program s katerim boste lahko testirali in prikazali delovanje posameznih rutin izdelajte rutine za delo z velikimi stevili sestej s s ® s odstej s s ® s zmnozi s s ® s deli s s ® s s stevila predstavite kot zaporedje posameznih cifer upostevate lahko samo cela stevila brez decimalne vejice upostevajte morebitni predznak izdelajte tudi program s katerim boste lahko testirali in prikazali delovanje posameznih rutin izdelajte rutine za delo z urejenim binarnim drevesom structure dvojisko drevo podatek boolean declare pripravi ® d prazno d ® boolean sestavi d p d ® d levi sin d ® d vrni d p desni sin d ® d where prazno pripravi true prazno sestavi d p d false levi sin sestavi d p d d levi sin pripravi napaka vrni sestavi d p d p vrni pripravi napaka desni sin d p d d desni sin pripravi napaka end prav tako izdelajte rutine za izpis drevesa na vse tri mozne nacine oce prej oce vmes in oce za ter rutino ki bo ugotovila ali se nek podatek nahaja v drevesu ali ne izdelajte dve skupini rutin pri prvi uporabite dinamicne podatkovne strukture in pri drugi staticne izdelajte tudi program s katerim boste lahko testirali in demonstrirali delovanje posameznih rutin izdelajte rutine za delo z avl drevesom realizirajte rutine ki ste jih izvedli pri prejsnji nalogi ob upostevanju pravil avl dreves pri realizaciji se lahko odlocite za uporabo dinamicnih ali staticnih podatkovnih struktur izdelajte tudi program s katerim boste lahko testirali in demonstrirali delovanje posameznih rutin izdelajte preprost racunski kalkulator program naj kot vhod sprejme nek racunski izraz sestavljen iz stevilk in operatorjev in ga nato izracuna pomagate si lahko tako da izraz najprej pretvorite v poljsko obliko in nato izracunate izraz po principu skladovnega avtomata razmislite in skusajte implementirati se o uvedbi oklepajev negativnega predznaka dodatnih funkcij sin cos ipd in spremenljivk izdelajte podatkovne strukture rutine in program s katerim boste predstavili delovanje grafa v program boste vnesli podatke o nekem neusmerjenem grafu ta pa vam bo nato poiskal najkrajso pot med dvema poljubnima vozliscema grafa izdelajte dve verziji programa v eni uporabite staticne podatkovne strukture matrika v drugi pa eno izmed dinamicnih metod za predstavitev grafa