資料結構與演算法

在無向圖中,各邊的權重(距離)為 S−A: 4、S−B: 1、A−B: 2、A−C: 1、B−C: 5、C−T: 3、A−T: 6。以戴克斯特拉演算法求從 S 到 T 的最短路徑時,路徑與長度為下列何者?

  1. AS→A→C→T,長度8
  2. BS→B→A→C→T,長度7
  3. CS→B→C→T,長度9
查看答案與解析

正確答案:B. S→B→A→C→T,長度7

戴克斯特拉演算法反覆確定距離尚未確定的頂點中最近的一個,並更新其相鄰頂點的距離。從 S(0)開始,B 以1確定,經由 B 到 A 為 1 + 2 = 3,比直接的4短。確定 A(3)後,C 為 3 + 1 = 4、T 為 3 + 6 = 9;確定 C(4)後,T 更新為 4 + 3 = 7。因此最短路徑為 S→B→A→C→T,長度為7。S→A→C→T(8)因直接走 S−A 而較長,S→B→C→T(9)則因 B−C 的5較大而較長。

  • A. 從 S 到 A,經由 B(1 + 2 = 3)比直接走(4)短。
  • B. 正確。S→B(1)、B→A(2)、A→C(1)、C→T(3),合計7。
  • C. B−C 的權重5較大,經由 A 較短。
練習這個領域 前往領域頁面

相關計算工具

資料結構與演算法的其他題目

  1. 要以戴克斯特拉演算法求出正確的最短路徑,關於圖的條件,下列何者正確?
  2. 工作 A~E 有「A 在 C 之前」「B 在 C 之前」「C 在 D 之前」「B 在 E 之前」「E 在 D 之前」的順序限制。滿足所有限制的工作順序(拓撲排序的結果)為下列何者?
  3. 函數 f(x, y) 定義為「若 y 為0則回傳 x,否則回傳 f(y, x mod y)」。呼叫 f(84, 36) 時的回傳值,以及 f 被呼叫的次數(含第一次呼叫)的組合為下列何者?
  4. 以遞迴將求費氏數的函數 fib(n) 定義為「若 n 在1以下則回傳 n,否則回傳 fib(n−1) + fib(n−2)」。呼叫 fib(5) 時,含第一次呼叫在內,fib 被呼叫幾次?
  5. 以1圓、4圓、6圓3種硬幣支付8圓。以從大硬幣開始盡量使用的貪婪演算法決定時的枚數,與最少枚數的關係,下列何者正確?