dfs遍歷二叉樹

語言: CN / TW / HK

dfs

從頂點v出發深度遍歷的演算法

  1. 訪問v
  2. 依次從頂點v未被訪問的鄰接點出發深度遍歷。

dfs演算法最大特色就在於其遞迴特性,使得演算法程式碼簡潔。但也由於遞迴使得演算法難以理解,原因在於遞迴使得初學者難以把握程式執行到何處了!一點建議就是先學好遞迴,把握函式呼叫是的種種。

程式碼

type TreeNode struct {
     Val int
     Left *TreeNode
     Right *TreeNode
}

func dfs(root *TreeNode) {
	if root == nil {
		return false
	}
	fmt.Println(root.Val)
	dfs(root.Left)
	dfs(root.Right)
}
分享到: