資料結構與演算法
在邊沒有權重的圖中,想求出從起點到各頂點的最少邊數。適合的搜尋方法與所使用的資料結構組合為下列何者?
- A廣度優先搜尋與佇列
- B深度優先搜尋與堆疊
- C廣度優先搜尋與堆疊
查看答案與解析
正確答案:A. 廣度優先搜尋與佇列
廣度優先搜尋依由近到遠的順序拜訪:先是從起點經1條邊可到達的頂點,再來是經2條邊可到達的頂點……。把找到的頂點放入佇列尾端、從前端取出檢查,就能維持這個「由近到遠」的順序,因此第一次到達時的邊數就是最少的邊數。深度優先搜尋(使用遞迴或堆疊)會沿著一條路盡量往前走,可能先經由繞遠的路徑到達,不保證最短。若以堆疊取代佇列,走訪方式就會接近深度優先搜尋。
- A. 正確。使用佇列就會依離起點由近到遠的順序拜訪,因此能求出最少邊數。
- B. 深度優先搜尋可能先經由繞遠的路徑到達,不保證最短。
- C. 使用堆疊會先檢查最後找到的頂點,因此不再是由近到遠的順序。
繼續練習資料結構與演算法的另外9題