iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
自我挑戰組

資料結構與演算法-CS61B學習筆記系列 第 15

Day15-Graph traversal - BreadthFirstSearch

  • 分享至 

  • xImage
  •  

對比Tree Traversal的level order traversal,Graph Traversal的level order traversal稱為Breadth First Search,以寬度為優先遍歷的概念。

我們一樣用上一章節的graph來舉例,如果我們想要找出從s點到任意節點的最短距離,就可以使用Breadth First Search。

我們會需要一個queue來存放預計要做bfs的節點,而bfs時會找出neighbor,mark這些neighbor並紀錄edgeTo和distTo來紀錄路徑的走向跟距離。後續的節點在判斷neighbor時要判斷有沒有被mark過,避免把做過bfs的節點也丟到queue中:

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

比較一下各種traversal的遍歷順序:

BFS:012453687

DFS preorder:012543678

DFS postorder:347685210

Slides are from Josh Hug CS61B
license
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License


上一篇
Day14-Graph traversal - Depth First Search
下一篇
Day16-Graph Implementation
系列文
資料結構與演算法-CS61B學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言