Open atilante opened 10 months ago
Nyt on tutkailtu syvyyshakualgoritmia tarkemmin. Osoittautuu, että DFS:ssä pitäisi korostaa pinon päällimmäisin solmu. Kuitenkin, jos tehtävän käyttöliittymä on nykyisenlainen, eli opiskelija vain klikkaa kaarta lisätäkseen sen syvyyshaun virityspuuhun, pinon päällimmäisin solmu liittyy aina viimeksi klikattuun kaareen. Esimerkki ylläolevaan kuvaan: opiskelija on viimeksi klikannut kaarta CD. Nyt D on pinon päällimmäisin solmu. Seuraavaksi opiskelija klikkaa (oikeassa ratkaisussa) kaarta BE. Nyt pinon päällimmäisin solmu on E.
Toisin sanoen nykyinen tehtävätoteutus korostaa oikeastaan pinoon viimeksi lisätyn solmun. Nämä tehtävän näkymät on korostettu tussitaulupiirroksessa punaisella tähdellä *. Tehtävä ei näytä syvyyshaun takaisinpaluuta, jossa (rekursio)pino purkautuu.
Johtopäätös: jos halutaan tehdä simulaatiotehtävä syvyyshausta, jossa algoritmin takaisinpaluu on näkyvissä, joudutaan laittamaan itse (rekursio)pinokin eksplisiittisesti näkyviin tehtävään ja opiskelija simuloimaan sekä lisäys että poisto pinoon.
Vaihtoehtoinen idea. Oletetaan ylläolevassa piirroksessa tila, jossa opiskelija on viimeksi klikannut CD:tä, jolloin pinon sisältö on A,B,C,D. Nyt opiskelija klikkaa BE:tä (kuten edellisessä esimerkissä). Ehdotus: tehtävä animoisi pinosta poistamisen automaattisesti. Se siis näyttäisi välivaiheet:
Huomioita:
Jos laittaisi rekursiopinon näkyviin niin vaikuttaisi liittyvän issueen #220.
If this is implemented, here is some tasks for Teemu:
testbench/OpenDSA/AV/Development/Prim/PrimAVPE-scaffolded-v2.html
: How the exercise sets a focusnode
class? See the corresponding CSS class at GraphAlgorithms.css.Archie needed: a comment on the exercise design.
DFS:ssä pitäisi olla pinon päällimmäisenä oleva solmu korostettu vahvemmalla reunalla, jotta näkyy animaatiossa myös takaisin palaaminen. Tämä olisi samanlainen kuin Primissä ja Dijkstrassa, vrt. kuva yllä, jossa B-solmu on vihreällä ja paksummalla reunaviivalla.