Vaje 2. 12. (Dvojiška in iskalna drevesa)
Odprto: četrtek, 2 december 2021, 00:00 AM
Rok za oddajo: sreda, 8 december 2021, 20:00 PM
Naloge o dvojiških iskalnih drevesih:
- Sestavi funkcijo, ki sprejme dvojiško iskalno drevo in vrne drevo enake oblike, ki ima v vozliščih shranjene vsote vseh ključev drevesa, ki so večji ali enaki ključu v izvornem vozlišču.
- Sestavi funkcijo, ki sprejme dvojiško iskalno drevo in interval ter iz drevesa odstrani vozlišča, katerih vrednost je zunaj danega intervala.
- Sestavi funkcijo, ki sprejme dvojiško iskalno drevo in število, vrne pa par vozlišč, katerih vsota ključev je enaka danemu številu. Če takih vozlišč ni, naj vrne None.
- Sestavi funkcijo, ki sprejme dvojiško drevo (ne nujno iskalno) in vrne iskalno drevo z enako množico vozlišč in enake oblike kot dano drevo.
- Poišči k-ti največji element v dvojiškem iskalnem drevesu. / Poišči k-ti najmanjši element v dvojiškem iskalnem drevesu.
- Zbriši dano vozlišče iz dvojiškega iskalnega drevesa. Če ima to vozlišče dve poddrevesi, ga zamenjaj z naslednikom. / Zbriši dano vozlišče iz dvojiškega iskalnega drevesa. Če ima to vozlišče dve poddrevesi, ga zamenjaj s predhodnikom.
- Poišči naslednika danega vozlišča v dvojiškem iskalnem drevesu. / Poišči predhodnika danega vozlišča v dvojiškem iskalnem drevesu.
- Poišči največji ključ, ki je manjši ali enak danemu številu n (število n se ne nahaja nujno v drevesu). / Poišči najmanjši ključ, ki je večji ali enak danemu številu n (število n se ne nahaja nujno v drevesu).
Za uspešno opravljene vaje morate nabrati 6 točk, kjer velja:
- Dve podnalogi na projektu Tomo v sklopu Dvojiško Drevo II sta vredni po 1 točko, pri nalogi Rekonstrukcije dreves iz pregledov pa za vsako podnalogo dobite 1 točko.
- Zgornje naloge o dvojiških iskalnih drevesih so vredne po 2 točki. Oddajte python datoteko, ki naj vsebuje vsaj 3 teste.
- Poročilo o nalogi o dvojiških iskalnih drevesih je vredno 2 točki. Naloga naj tedaj vsebuje vsaj 5 testov. Oddajte markdown datoteko.