
11 câu hỏi
Sau bài học này, chúng ta sẽ giải quyết được bài toán trên như sau:
Người ta đã xây dựng những thuật toán giải bài toán tìm đường đi ngắn nhất trong đồ thị có trọng số một cách hiệu quả (cụ thể trong bài học này, chúng ta tìm hiểu về thuật toán Dijkstra).
Các cạnh còn thiếu trong Hình 2 là: EM, NF.
Các số biểu diễn độ dài con đường còn thiếu trong Hình 2 là:
⦁ 7 (biểu diễn độ dài AM, MD);
⦁ 9 (biểu diễn độ dài EM);
⦁ 6 (biểu diễn độ dài MN, CN);
⦁ 8 (biểu diễn độ dài DF, EN);
⦁ 4 (biểu diễn độ dài NF).
Đồ thị biểu diễn đầy đủ các thông tin trong Hình 1 là:

a) Ta có wAE = 5; wMN = 1; wCN = 2.
b) Ta có:
⦁ lABEN = wAB + wBE + wEN = 3 + 2 + 9 = 14;
⦁ lEMFNE = wEM + wMF + wFN + wNE = 3 + 6 + 4 + 9 = 22.
c) Ba đường đi khác nhau từ A đến D là: AMD, AENFD, ABNCD.
Ta có:
⦁ lAMD = wAM + wMD = 4 + 5 = 9.
⦁ lAENFD = wAE + wEN + wNF + wFD = 5 + 9 + 4 + 7 = 25.
⦁ lABNCD = wAB + wBN + wNC + wCD = 3 + 6 + 2 + 10 = 21.
Vậy ba đường đi khác nhau từ A đến D là AMD (có độ dài bằng 9), AENFD (có độ dài bằng 25), ABNCD (có độ dài bằng 21).
d) Ta có EMNF là một đường đi từ E đến F.
Mà lEMNF = wEM + wMN + wNF = 3 + 1 + 4 = 8 và lEMF = wEM + wMF = 3 + 6 = 9.
Vì 8 < 9 nên lEMNF < lEMF.
Vậy đường đi EMF không phải là đường đi ngắn nhất từ E đến F.
a) Tất cả các đường đi từ A đến T (đi qua mỗi đỉnh nhiều nhất một lần) là: ABDT, ACDT, ACET, ACDET, ACEDT, ABDET, ABDCET.
Ta có:
⦁ lABDT = wAB + wBD + wDT = 4 + 7 + 3 = 14;
⦁ lACDT = wAC + wCD + wDT = 2 + 6 + 3 = 11;
⦁ lACET = wAC + wCE + wET = 2 + 12 + 5 = 19;
⦁ lACDET = wAC + wCD + wDE + wET = 2 + 6 + 4 + 5 = 17;
⦁ lACEDT = wAC + wCE + wED + wDT = 2 + 12 + 4 + 3 = 21;
⦁ lABDET = wAB + wBD + wDE + wET = 4 + 7 + 4 + 5 = 20;
⦁ lABDCET = wAB + wBD + wDC + wCE + wET = 4 + 7 + 6 + 12 + 5 = 34.
b) Vì 11 < 14 < 17 < 19 < 20 < 21 < 34.
Nên lACDT < lABDT < lACDET < lACET < lABDET < lACEDT < lABDCET.
Vậy đường đi ngắn nhất từ A đến T là ACDT (có độ dài bằng 11).
– Gán nhãn cho A bằng 0 (tức là, nA = 0), các đỉnh khác bằng ∞. Khoanh tròn đỉnh A.
– Tại các đỉnh kề với A, gồm B, C, D, ta có:
⦁ nB = nA + wAB = 0 + 3 = 3. Vì 3 < ∞ nên ta đổi nhãn của B thành 3.
⦁ nC = nA + wAC = 0 + 6 = 6. Vì 6 < ∞ nên ta đổi nhãn của C thành 6.
⦁ nD = nA + wAD = 0 + 5 = 5. Vì 5 < ∞ nên ta đổi nhãn của D thành 5.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là B nên ta khoanh tròn đỉnh B (đỉnh gần đỉnh A nhất, chỉ tính các đỉnh khác đỉnh A).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh B gồm C, E, ta có:
⦁ nC = nB + wBC = 3 + 2 = 5. Vì 5 < 6 (6 là nhãn hiện tại của C) nên ta đổi nhãn của C thành 5.
⦁ nE = nB + wBE = 3 + 10 = 13. Vì 13 < ∞ nên ta đổi nhãn của E thành 13.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là C, D (đều có nhãn là 5) nên ta tùy ý khoanh tròn đỉnh C (đỉnh gần đỉnh A thứ hai).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh C gồm E, D, F, I, ta có:
⦁ nE = nC + wCE = 5 + 5 = 10. Vì 10 < 13 (13 là nhãn hiện tại của E) nên ta đổi nhãn của E thành 10.
⦁ nD = nC + wCD = 5 + 3 = 8. Vì 8 > 5 (5 là nhãn hiện tại của D) nên ta giữ nguyên nhãn của D là 5.
⦁ nF = nC + wCF = 5 + 6 = 11. Vì 11 < ∞ nên ta đổi nhãn của F thành 11.
⦁ nI = nC + wCI = 5 + 8 = 13. Vì 13 < ∞ nên ta đổi nhãn của I thành 13.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là D nên ta khoanh tròn đỉnh D (đỉnh gần đỉnh A thứ ba).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh D chỉ có đỉnh F, ta có:
nF = nD + wDF = 5 + 7 = 12.
Vì 12 > 11 (11 là nhãn hiện tại của F) nên ta giữ nguyên nhãn của F là 11.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là E nên ta khoanh tròn đỉnh E (đỉnh gần đỉnh A thứ tư).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh E chỉ có đỉnh I, ta có:
nI = nE + wEI = 10 + 2 = 12.
Vì 12 < 13 (13 là nhãn hiện tại của I) nên ta đổi nhãn của I thành 12.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là F nên ta khoanh tròn đỉnh F (đỉnh gần A thứ năm).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh F chỉ còn đỉnh I, ta có:
nI = nF + wFI = 11 + 4 = 15.
Vì 15 > 12 (12 là nhãn hiện tại của I) nên ta giữ nguyên nhãn của I là 12.
Lúc này, ta thấy chỉ còn đỉnh I chưa được khoanh tròn nên ta khoanh tròn đỉnh I (đỉnh gần A thứ sáu).
– Nhìn ngược lại các bước trên, ta thấy:
nI = 12 = nE + wEI
= nC + wCE + wEI
= nB + wBC + wCE + wEI
= nA + wAB + wBC + wCE + wEI
= wAB + wBC + wCE + wEI
= lABCEI.
Vậy ABCEI là đường đi ngắn nhất từ A đến I, với độ dài bằng 12.
Ta tìm khoảng thời gian ít nhất để di chuyển từ bến A đến bến C bằng xe buýt của các tuyến trên bằng cách sử dụng thuật toán Dijkstra như sau:

– Gán nhãn cho A bằng 0 (tức là, nA = 0), các đỉnh khác bằng ∞. Khoanh tròn đỉnh A.
– Tại các đỉnh kề với đỉnh A, gồm E, F, B, ta có:
⦁ nE = nA + wAE = 0 + 0,8 = 0,8. Vì 0,8 < ∞ nên ta đổi nhãn của E thành 0,8.
⦁ nF = nA + wAF = 0 + 2,5 = 2,5. Vì 2,5 < ∞ nên ta đổi nhãn của F thành 2,5.
⦁ nB = nA + wAB = 0 + 2 = 2. Vì 2 < ∞ nên ta đổi nhãn của B thành 2.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là E nên ta khoanh tròn đỉnh E (đỉnh gần đỉnh A nhất, chỉ tính các đỉnh khác đỉnh A).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh E gồm D, F, ta có:
⦁ nD = nE + wDE = 0,8 + 3 = 3,8. Vì 3,8 < ∞ nên ta đổi nhãn của D thành 3,8.
⦁ nF = nE + wEF = 0,8 + 1 = 1,8. Vì 1,8 < 2,5 (2,5 là nhãn hiện tại của F) nên ta đổi nhãn của F thành 1,8.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là F nên ta khoanh tròn đỉnh F (đỉnh gần A thứ hai).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh F gồm B, C, D, ta có:
⦁ nB = nF + wFB = 1,8 + 2 = 3,8. Vì 3,8 > 2 (2 là nhãn hiện tại của B) nên ta giữ nguyên nhãn của B là 2.
⦁ nC = nF + wFC = 1,8 + 2,2 = 4. Vì 4 < ∞ nên ta đổi nhãn của C thành 4.
⦁ nD = nF + wFD = 1,8 + 1,2 = 3. Vì 3 < 3,8 (3,8 là nhãn hiện tại của D) nên ta đổi nhãn của D thành 3.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là B. Nhưng do trong các đỉnh chưa được khoanh tròn còn lại, ta thấy không có đỉnh nào kề với đỉnh B nên ta chọn lại đỉnh có nhãn bé nhất (ngoại trừ đỉnh B) là đỉnh D (đỉnh gần A thứ ba).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh D chỉ còn đỉnh C, ta có:
nC = nD + wDC = 3 + 3 = 6. Vì 6 > 4 (4 là nhãn hiện tại của C) nên ta giữ nguyên nhãn của C là 4.
Lúc này, ngoại trừ đỉnh B, ta thấy chỉ còn đỉnh C chưa được khoanh tròn nên ta khoanh tròn đỉnh C (đỉnh gần A thứ tư).
– Nhìn ngược lại các bước trên, ta thấy:
nC = 4 = nF + wFC
= nE + wEF + wFC
= nA + wAE + wEF + wFC
= wAE + wEF + wFC
= lAEFC.
Vậy người đó cần ít nhất 4 giờ để di chuyển từ bến A đến bến C bằng xe buýt của các tuyến trên.
a) Ta có:
⦁ lABCD = wAB + wBC + wCD = 5 + 15 + 4 = 24.
⦁ lMBNCP = wMB + wBN + wNC + wCP = 7 + 7 + 6 + 25 = 45.
Vậy độ dài các đường đi ABCD, MBNCP lần lượt là 24 và 45.
b) Ba đường đi khác nhau từ M đến N là: MAN, MBN, MABN.
Ta có:
⦁ lMAN = wMA + wAN = 5 + 9 = 14.
⦁ lMBN = wMB + wBN = 7 + 7 = 14.
⦁ lMABN = wMA + wAB + wBN = 5 + 5 + 7 = 17.
Vậy ba đường đi khác nhau từ M đến N là MAN, MBN, MABN có độ dài lần lượt bằng 14; 14; 17.
c) Ta có MANC là một đường đi từ M đến C.
Mà lMANC = wMA + wAN + wNC = 5 + 9 + 6 = 20 và lMBC = wMB + wBC = 7 + 15 = 22.
Vì 20 < 22 nên lMANC < lMBC.
Vậy MBC không phải là đường đi ngắn nhất từ M đến C.
Đồ thị có trọng số như hình vẽ sau thỏa mãn yêu cầu bài toán, trong đó các đỉnh biểu diễn các bến xe, các cạnh biểu diễn các tuyến xe buýt giữa các bến xe (nếu có), trọng số của mỗi cạnh biểu diễn thời gian di chuyển tính bằng giờ của tuyến xe buýt tương ứng.

– Gán nhãn cho S bằng 0 (tức là, nS = 0), các đỉnh khác bằng ∞. Khoanh tròn đỉnh A.
– Tại các đỉnh kề với S, gồm A, B, C, D. ta có:
⦁ nA = nS + wSA = 0 + 3 = 3. Vì 3 < ∞ nên ta đổi nhãn của A thành 3.
⦁ nB = nS + wSB = 0 + 6 = 6. Vì 6 < ∞ nên ta đổi nhãn của B thành 6.
⦁ nC = nS + wSC = 0 + 9 = 9. Vì 9 < ∞ nên ta đổi nhãn của C thành 9.
⦁ nD = nS + wSD = 0 + 12 = 12. Vì 12 < ∞ nên ta đổi nhãn của D thành 12.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là A nên ta khoanh tròn đỉnh A (đỉnh gần S nhất, chỉ tính các đỉnh khác S).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh A gồm B, T, ta có:
⦁ nB = nA + wAB = 3 + 2 = 5. Vì 5 < 6 (6 là nhãn hiện tại của B) nên ta đổi nhãn của B thành 5.
⦁ nT = nA + wAT = 3 + 15 = 18. Vì 18 < ∞ nên ta đổi nhãn của T thành 18.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là B nên ta khoanh tròn đỉnh B (đỉnh gần S thứ hai).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh B chỉ có đỉnh C, ta có:
nC = nB + wBC = 5 + 3 = 8. Vì 8 < 9 (9 là nhãn hiện tại của C) nên ta đổi nhãn của C thành 8.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là đỉnh C nên ta khoanh tròn đỉnh C (đỉnh gần S thứ ba).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh C gồm D, T, ta có:
⦁ nD = nC + wCD = 8 + 4 = 12. Vì 12 cũng là nhãn hiện tại của D nên ta giữ nguyên nhãn của D là 12.
⦁ nT = nC + wCT = 8 + 5 = 13. Vì 13 < 18 (18 là nhãn hiện tại của T) nên ta đổi nhãn của T thành 13.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là đỉnh D nên ta khoanh tròn đỉnh D (đỉnh gần S thứ tư).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh D chỉ còn đỉnh T, ta có:
nT = nD + wDT = 12 + 9 = 21. Vì 21 > 13 (13 là nhãn hiện tại của T) nên ta giữ nguyên nhãn của T là 13.
Lúc này, ta thấy chỉ còn đỉnh T nên ta khoanh tròn đỉnh T (đỉnh gần S thứ năm).
– Nhìn lại các bước trên, ta thấy:
nT = 13 = nC + wCT
= nB + wBC + wCT
= nA + wAB + wBC + wCT
= nS + wSA + wAB + wBC + wCT
= wSA + wAB + wBC + wCT
= lSABCT.
Vậy SABCT là đường đi ngắn nhất từ S đến T, với độ dài bằng 13.
– Gán nhãn cho A bằng 0 (tức là, nA = 0), các đỉnh khác bằng ∞. Khoanh tròn đỉnh A.
– Tại các đỉnh kề với đỉnh A, gồm M, N, B, ta có:
⦁ nM = nA + wAM = 0 + 9 = 9. Vì 9 < ∞ nên ta đổi nhãn của M thành 9.
⦁ nN = nA + wAN = 0 + 5 = 5. Vì 5 < ∞ nên ta đổi nhãn của N thành 5.
⦁ nB = nA + wAB = 0 + 3 = 3. Vì 3 < ∞ nên ta đổi nhãn của B thành 3.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là B nên ta khoanh tròn đỉnh B (đỉnh gần A nhất, chỉ tính các đỉnh khác A).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh B gồm M, N, ta có:
⦁ nM = nB + wBM = 3 + 4 = 7. Vì 7 < 9 (9 là nhãn hiện tại của M) nên ta đổi nhãn của M thành 7.
⦁ nN = nB + wBN = 3 + 10 = 13. Vì 13 > 5 (5 là nhãn hiện tại của N) nên ta giữ nguyên nhãn của N là 5.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là N nên ta khoanh tròn đỉnh N (đỉnh gần A thứ hai).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh N gồm M, C, P, ta có:
⦁ nM = nN + wNM = 5 + 2 = 7. Vì 7 cũng là nhãn hiện tại của M nên ta giữ nguyên nhãn của M là 7.
⦁ nC = nN + wNC = 5 + 6 = 11. Vì 11 < ∞ nên ta đổi nhãn của C thành 11.
⦁ nP = nN + wNP = 5 + 12 = 17. Vì 17 < ∞ nên ta đổi nhãn của P thành 17.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là M nên ta khoanh tròn đỉnh M (đỉnh gần A thứ ba).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh M gồm D, P, ta có:
⦁ nD = nM + wMD = 7 + 10 = 17. Vì 17 < ∞ nên ta đổi nhãn của D thành 17.
⦁ nP = nM + wMP = 7 + 11 = 18. Vì 18 > 17 (17 là nhãn hiện tại của P) nên ta giữ nguyên nhãn của P là 17.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là C nên ta khoanh tròn đỉnh C (đỉnh gần A thứ tư).
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh C chỉ có đỉnh P, ta có:
nP = nC + wCP = 11 + 5 = 16. Vì 16 < 17 (17 là nhãn hiện tại của P) nên ta đổi nhãn của P thành 16.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là đỉnh P nên ta khoanh tròn đỉnh P (đỉnh gần A thứ năm).
– Nhìn lại các bước trên, ta thấy:
nP = 16 = nC + wCP
= nN + wNC + wCP
= nA + wAN + wNC + wCP
= wAN + wNC + wCP
= lANCP.
Vậy ANCP là đường đi ngắn nhất từ đỉnh A đến P, với độ dài bằng 16.
– Gán nhãn cho A bằng 0 (tức là, nA = 0), các đỉnh khác bằng ∞. Khoanh tròn đỉnh A.
– Tại các đỉnh kề với A, gồm E, B, D, F, ta có:
⦁ nE = nA + wAE = 0 + 3 = 3. Vì 3 < ∞ nên ta đổi nhãn của E thành 3.
⦁ nB = nA + wAB = 0 + 7 = 7. Vì 7 < ∞ nên ta đổi nhãn của B thành 7.
⦁ nD = nA + wAD = 0 + 6 = 6. Vì 6 < ∞ nên ta đổi nhãn của D thành 6.
⦁ nF = nA + wAF = 0 + 12 = 12. Vì 12 < ∞ nên ta đổi nhãn của F thành 12.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là E nên ta khoanh tròn đỉnh E (đỉnh gần A nhất, chỉ tính các đỉnh khác A).
Ta có nE = 3 = nA + wAE = wAE = lAE.
Vì vậy AE là đường đi ngắn nhất từ A đến E, với độ dài bằng 3.
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh E chỉ có B, ta có:
nB = nE + wEB = 3 + 2 = 5. Vì 5 < 7 (7 là nhãn hiện tại của B) nên ta đổi nhãn của B thành 5.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là B nên ta khoanh tròn đỉnh B (đỉnh gần A thứ hai).
Ta có nB = 5 = nE + wEB = nA + wAE + wEB = wAE + wEB = lAEB.
Vì vậy AEB là đường đi ngắn nhất từ A đến B, với độ dài bằng 5.
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh B gồm F, C, ta có:
⦁ nF = nB + wBF = 5 + 8 = 13. Vì 13 > 12 (12 là nhãn hiện tại của F) nên ta giữ nguyên nhãn của F là 12.
⦁ nC = nB + wBC = 5 + 4 = 9. Vì 9 < ∞ nên ta đổi nhãn của C thành 9.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là D nên ta khoanh tròn đỉnh D (đỉnh gần A thứ ba).
Ta có nD = 6 = nA + wAD = wAD = lAD.
Vì vậy AD là đường đi ngắn nhất từ đỉnh A đến D, với độ dài bằng 6.
– Trong các đỉnh chưa được khoanh tròn, đỉnh kề với đỉnh D gồm đỉnh F, C, ta có:
⦁ nF = nD + wDF = 6 + 5 = 11. Vì 11 < 12 (12 là nhãn hiện tại của F) nên ta đổi nhãn của F thành 11.
⦁ nC = nD + wDC = 6 + 4 = 10. Vì 10 > 9 (9 là nhãn hiện tại của C) nên ta giữ nguyên nhãn của C là 9.
Trong các đỉnh chưa được khoanh tròn, đỉnh có nhãn bé nhất là đỉnh C nên ta khoanh tròn đỉnh C (đỉnh gần A thứ tư).
Ta có nC = 9 = nB + wBC
= nE + wEB + wBC
= nA + wAE + wEB + wBC
= wAE + wEB + wBC
= lAEBC.
Vì vậy AEBC là đường đi ngắn nhất từ A đến C, với độ dài bằng 9.
– Lúc này, ta thấy chỉ còn đỉnh F chưa được khoanh tròn nên ta khoanh tròn đỉnh F (đỉnh gần A thứ năm).
Ta có nF = 11 = nD + wDF = nA + wAD + wDF = wAD + wDF = lADF.
Vì vậy ADF là đường đi ngắn nhất từ A đến F, với độ dài bằng 11.
Vậy đường đi ngắn nhất từ đỉnh A đến các đỉnh B, C, D, E, F lần lượt là AEB, AEBC, AD, AE, ADF.
Bạn có thích hoạt động này không?
Ý kiến của bạn sẽ giúp chúng tôi đề xuất nội dung phù hợp hơn.












![[Năm 2022] Đề thi thử môn Vật lí THPT Quốc gia có lời giải - Đề số 21](/_next/image?url=https%3A%2F%2Fvideo.vietjack.com%2Fupload%2Fimages%2Fvj-image%2Fimage-3izficdefgfoel0s9j8s-1786772791.jpg&w=3840&q=75)
![[Năm 2022] Đề thi thử môn Vật lí THPT Quốc gia có lời giải - Đề số 20](/_next/image?url=https%3A%2F%2Fvideo.vietjack.com%2Fupload%2Fimages%2Fvj-image%2Fimage-emy0gtcksawvorajezvv-1786772460.jpg&w=3840&q=75)

















