Ladda ner presentationen
Presentation laddar. Vänta.
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
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.