Kurssiviikko 10

Itseopiskelu

Viikon aiheet: (i) Graafit (ii) Leveys-ensin-haku (BFS), (iii) Syvyys-ensin-haku (DFS), (iv) Graafien toteuttaminen

Aiheiden opetusvideot ja kalvot:

Leveys-ensin-haku (BFS)

Syvyys-ensin-haku (DFS)

Graafien toteuttaminen

Mitkä seuraavista väitteistä ovat totta?
Mitkä seuraavista väitteistä yhtenäisestä graafista ovat totta?
Kun tutkitaan suunnattua graafia, missä seuraavista tilanteista leveys-ensin-haku (BFS) olisi hyödyllinen?
Oletetaan, että suunnatulla graafilla on 4 solmua, \(s\), \(a\), \(b\) ja \(c\). Oletetaan myös, että graafilla on kaikki mahdolliset kaaret paitsi 2, kaari solmusta \(s\) solmuun \(a\) ja kaari solmusta \(a\) solmuun \(b\). Mitkä ovat etäisyydet solmusta \(s\) kaikkiin muihin solmuihin?
Oletetaan, että BFS-algoritmi aloittaa solmusta \(s\). Oletetaan, että \(x\) on toinen solmu ja on olemassa reitti solmusta \(s\) solmuun \(x\). Miksi BFS-algoritmi määrittää eri värejä solmulle \(x\)?
Oletetaan, että suunnattu graafi syötetään BFS-algoritmiin. Oletetaan myös, että BFS-algoritmi aloittaa solmusta \(s\) ja on olemassa reitti solmusta \(s\) jokaiseen muuhun solmuun. Kun BFS-algoritmi on lopettanut, mitkä seuraavista ovat totta? (Huomaa: useampi kuin yksi väite voi olla totta.)
Kun tutkitaan suunnattua graafia, missä seuraavista tilanteista syvyys-ensin-haku (DFS) olisi hyödyllinen?
DFS-algoritmissa käytetään pinoa. Oletetaan, että \(x\) ja \(y\) ovat kaksi eri solmua suunnatussa graafissa. Minkä säännön mukaan DFS-pino toimii?
Oletetaan, että graafi tallennetaan C++:ssa. Oletetaan, että solmun tiedot tallennetaan struct:ssa, jossa solmun naapurisolmut tallennetaan joko vector-säiliössä tai unordered_set-säiliössä. Missä tilanneessa on järkevämpi käyttää unordered_set-säiliötä?
Kun tallennetaan graafi C++:ssa, mikä seuraavista väitteistä on totta?
Muotoile kurssin kannalta keskeinen kysymys, johon tämän viikon videot antavat vastauksen.
Minkä videon aiheesta pitäisi erityisesti keskustella keskustelutilaisuudessa?
Oliko videoiden sisällössä jotain erityisen vaikeaa? Entä mielenkiintoista? Jotain josta haluaisit oppia lisää?

Lisäinformaatiota aiheesta:

Viikko10 - Sanasto

Viikkoharjoitusten palautettavat kotitehtävät

Tällä viikolla palautettavat tehtävät