Presentation laddar. Vänta.

Presentation laddar. Vänta.

© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003

Liknande presentationer


En presentation över ämnet: "© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003"— Presentationens avskrift:

1 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Djupet-först exempel = Obesökt nod A B C D = Öppen nod E F G H = Stängd nod I J K L Aktuell nod är röd M N O P © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003

2 Djupet-först exempel Välj en (obesökt) nod k och markera den öppen.
PQ = {} E F G H I J K L M N O P A B C D Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön E F G H I J K L M N O P

3 Djupet-först exempel A B C D Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön PQ = {(E, 3) (F,2), (B,1)} E F G H I J K L M N O P A B C D Välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön PQ = {(F,2), (B,1)} E F G H I J K L M N O P

4 Djupet-först exempel Markera k stängd
B C D Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön PQ = {(F, 3), (F,2), (B,1)} E F G H I J K L M N O P A B C D Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön PQ = {(I, 4) (F, 3), (F,2), (B,1)} Se till att alla noder är markerade obesökta och prioritetskön är tom. Välj en (obesökt) nod k och markera den öppen. Upprepa tills alla noder är stängda: Om k är öppen: Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Annars (dvs k stängd) Om prioritetskön är tom Välj en obesökt nod k och markera den öppen Annars välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön E F G H I J K L M N O P

5 Djupet-först exempel A B C D Välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön PQ = {(F, 3), (F,2), (B,1)} E F G H I J K L M N O P Markera k stängd Varje öppen granne till k placeras i prioritetskön PQ = {(F, 4), (F, 3), (F,2), (B,1)} Varje obesökt granne görs öppen och läggs till i kön PQ = {(M, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} A B C D Se till att alla noder är markerade obesökta och prioritetskön är tom. Välj en (obesökt) nod k och markera den öppen. Upprepa tills alla noder är stängda: Om k är öppen: Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Annars (dvs k stängd) Om prioritetskön är tom Välj en obesökt nod k och markera den öppen Annars välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön E F G H I J K L M N O P

6 Djupet-först exempel A B C D Välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön PQ = {(N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} E F G H I J K L M N O P A B C D Markera k stängd Varje öppen granne till k placeras i prioritetskön PQ = {(N, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} Varje obesökt granne görs öppen och läggs till i kön Se till att alla noder är markerade obesökta och prioritetskön är tom. Välj en (obesökt) nod k och markera den öppen. Upprepa tills alla noder är stängda: Om k är öppen: Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Annars (dvs k stängd) Om prioritetskön är tom Välj en obesökt nod k och markera den öppen Annars välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön E F G H I J K L M N O P

7 Djupet-först exempel A B C D Välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön PQ = {(N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} E F G H I J K L M N O P A B C D Markera k stängd Varje öppen granne till k placeras i prioritetskön Varje obesökt granne görs öppen och läggs till i kön PQ = {(K, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} Se till att alla noder är markerade obesökta och prioritetskön är tom. Välj en (obesökt) nod k och markera den öppen. Upprepa tills alla noder är stängda: Om k är öppen: Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Annars (dvs k stängd) Om prioritetskön är tom Välj en obesökt nod k och markera den öppen Annars välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön E F G H I J K L M N O P

8 Djupet-först exempel A B C D Välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön PQ = {(N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} E F G H I J K L M N O P Markera k stängd Varje öppen granne till k placeras i prioritetskön PQ = {(J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} Varje obesökt granne görs öppen och läggs till i kön PQ = {(O, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} A B C D Se till att alla noder är markerade obesökta och prioritetskön är tom. Välj en (obesökt) nod k och markera den öppen. Upprepa tills alla noder är stängda: Om k är öppen: Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Annars (dvs k stängd) Om prioritetskön är tom Välj en obesökt nod k och markera den öppen Annars välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön E F G H I J K L M N O P

9 Djupet-först exempel A B C D Välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön PQ = {(G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} E F G H I J K L M N O P A B C D Markera k stängd Varje öppen granne till k placeras i prioritetskön Varje obesökt granne görs öppen och läggs till i kön PQ = {(P, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} Se till att alla noder är markerade obesökta och prioritetskön är tom. Välj en (obesökt) nod k och markera den öppen. Upprepa tills alla noder är stängda: Om k är öppen: Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Annars (dvs k stängd) Om prioritetskön är tom Välj en obesökt nod k och markera den öppen Annars välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön E F G H I J K L M N O P

10 Djupet-först exempel A B C D Välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön PQ = {(G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} E F G H I J K L M N O P A B C D Markera k stängd Varje öppen granne till k placeras i prioritetskön Varje obesökt granne görs öppen och läggs till i kön PQ = {(L, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} Se till att alla noder är markerade obesökta och prioritetskön är tom. Välj en (obesökt) nod k och markera den öppen. Upprepa tills alla noder är stängda: Om k är öppen: Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Annars (dvs k stängd) Om prioritetskön är tom Välj en obesökt nod k och markera den öppen Annars välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön E F G H I J K L M N O P

11 Djupet-först exempel A B C D Välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön PQ = {(G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} E F G H I J K L M N O P Markera k stängd Varje öppen granne till k placeras i prioritetskön PQ = {(G, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} Varje obesökt granne görs öppen och läggs till i kön PQ = {(H, 10), (G, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} A B C D Se till att alla noder är markerade obesökta och prioritetskön är tom. Välj en (obesökt) nod k och markera den öppen. Upprepa tills alla noder är stängda: Om k är öppen: Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Annars (dvs k stängd) Om prioritetskön är tom Välj en obesökt nod k och markera den öppen Annars välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön E F G H I J K L M N O P

12 Djupet-först exempel A B C D Välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön PQ = {(G, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} E F G H I J K L M N O P A B C D Markera k stängd Varje öppen granne till k placeras i prioritetskön Varje obesökt granne görs öppen och läggs till i kön PQ = {(D, 10), (G, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} Se till att alla noder är markerade obesökta och prioritetskön är tom. Välj en (obesökt) nod k och markera den öppen. Upprepa tills alla noder är stängda: Om k är öppen: Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Annars (dvs k stängd) Om prioritetskön är tom Välj en obesökt nod k och markera den öppen Annars välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön E F G H I J K L M N O P

13 Djupet-först exempel A B C D Välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön PQ = {(G, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} E F G H I J K L M N O P A B C D Markera k stängd Varje öppen granne till k placeras i prioritetskön PQ = {(G, 10), (G, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} Varje obesökt granne görs öppen och läggs till i kön PQ = {(C, 11), (G, 10), (G, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} Se till att alla noder är markerade obesökta och prioritetskön är tom. Välj en (obesökt) nod k och markera den öppen. Upprepa tills alla noder är stängda: Om k är öppen: Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Annars (dvs k stängd) Om prioritetskön är tom Välj en obesökt nod k och markera den öppen Annars välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön E F G H I J K L M N O P

14 Djupet-först exempel A B C D Välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön PQ = {(G, 10), (G, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} E F G H I J K L M N O P A B C D Markera k stängd Varje öppen granne till k placeras i prioritetskön PQ = {(B,12), (G, 11), (G, 10), (G, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} Varje obesökt granne görs öppen och läggs till i kön Se till att alla noder är markerade obesökta och prioritetskön är tom. Välj en (obesökt) nod k och markera den öppen. Upprepa tills alla noder är stängda: Om k är öppen: Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Annars (dvs k stängd) Om prioritetskön är tom Välj en obesökt nod k och markera den öppen Annars välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön E F G H I J K L M N O P

15 Djupet-först exempel A B C D Välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön PQ = {(G, 11), (G, 10), (G, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} E F G H I J K L M N O P A B C D Markera k stängd Varje öppen granne till k placeras i prioritetskön PQ = {(F,12), (G, 11), (G, 10), (G, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} Varje obesökt granne görs öppen och läggs till i kön Se till att alla noder är markerade obesökta och prioritetskön är tom. Välj en (obesökt) nod k och markera den öppen. Upprepa tills alla noder är stängda: Om k är öppen: Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Annars (dvs k stängd) Om prioritetskön är tom Välj en obesökt nod k och markera den öppen Annars välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön E F G H I J K L M N O P

16 Djupet-först exempel A B C D Välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön PQ = {(G, 11), (G, 10), (G, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} E F G H I J K L M N O P A B C D Markera k stängd Varje öppen granne till k placeras i prioritetskön Varje obesökt granne görs öppen och läggs till i kön Se till att alla noder är markerade obesökta och prioritetskön är tom. Välj en (obesökt) nod k och markera den öppen. Upprepa tills alla noder är stängda: Om k är öppen: Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Annars (dvs k stängd) Om prioritetskön är tom Välj en obesökt nod k och markera den öppen Annars välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön E F G H I J K L M N O P

17 Djupet-först exempel A B C D Välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön PQ = {(G, 10), (G, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} E F G H I J K L M N O P A B C D Markera k stängd Varje öppen granne till k placeras i prioritetskön PQ = {(J, 11), (G, 10), (G, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} Varje obesökt granne görs öppen och läggs till i kön Se till att alla noder är markerade obesökta och prioritetskön är tom. Välj en (obesökt) nod k och markera den öppen. Upprepa tills alla noder är stängda: Om k är öppen: Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Annars (dvs k stängd) Om prioritetskön är tom Välj en obesökt nod k och markera den öppen Annars välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön E F G H I J K L M N O P

18 Djupet-först exempel A B C D Välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön PQ = {(G, 10), (G, 9), (G, 8), (J, 7), (N, 6), (J, 5), (F, 4), (F, 3), (F,2), (B,1)} E F G H I J K L M N O P A B C D Markera k stängd Varje öppen granne till k placeras i prioritetskön Varje obesökt granne görs öppen och läggs till i kön Nu är alla noder stängda och algoritmen slut! Se till att alla noder är markerade obesökta och prioritetskön är tom. Välj en (obesökt) nod k och markera den öppen. Upprepa tills alla noder är stängda: Om k är öppen: Markera k stängd För varje öppen granne till k placeras en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Varje obesökt granne till k markeras som öppen och en referens till noden tillsammans med ett tilldelat prioritetsvärde i prioritetskön Annars (dvs k stängd) Om prioritetskön är tom Välj en obesökt nod k och markera den öppen Annars välj den nod k som det första elementet i prioritetskön refererar till och ta bort köelementet ur prioritetskön E F G H I J K L M N O P


Ladda ner ppt "© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003"

Liknande presentationer


Google-annonser