Zaradi praznikov (in enkratne odsotnosti profesorja) smo imeli pred tem kolokvijem predavanja le 2-krat.
Tako so prišle v upoštev naslednja poglavja (kot so zapisana v knjigi Borut Žalik: Algoritmi računalniške geometrije):
Implementirajte vsebnostni algoritem točka-mnogokotnik z računanjem kotov.
Vhod predstavljata mnogokotnik, ki ne vsebuje lukenj, in točka p, za katero preverjamo vsebnost.
Izhod algoritma nam pove:
- ali točka leži v notranjosti mnogokotnika,
- ali točka leži zunaj mnogokotnika,
- ali pa točka leži na mnogokotniku (bodisi na robu bodisi na oglišču).
Algoritem poteka tako, da potegnemo poltrak od p do vsakega oglišča mnogokotnika. Nato izračunamo kote med vsakim parom poltrakov, kote pa seštevamo. Če je vsota vseh kotov enaka 2pi , je točka v notranjosti. Če je vsota kotov enaka 0, leži točka zunaj mnogokotnika. Za preverjanje enakosti uporabite toleranco epsilon.
Robni primeri:
- točka p leži na točki mnogokotnika,
- točka p leži na robu mnogokotnika.
Več o algoritmu najdete v knjigi Algoritmi računalniške geometrije (Žalik).
Naloga je vredna 4 točke.
V skladu z navodili implementirajte iskanje v širino na enakem grafu, kot ste ga imeli pri prejšnji nalogi, s tem, da ceno povezav zanemarite, oziroma jo postavite na vrednost 1.
Naloga je vredna 3 točke.
V skladu z navodili implementirajte algoritem za iskanje minimalnega vpetega drevesa – Kruskalov ogoritem. Vhodni graf preberite iz vhodne datoteke graf.txt.
Vrednost naloge: 4 točke.
V skladu z navodili implementirajte algoritem Hitro uredi na dvojno povezanem seznamu.
Vrednost naloge je 2 točki.
V skladu z navodili implementirajte algoritem hitro uredi.
Vaja je vredna 4 točke.