【數據結構】二叉樹的深度優先遍歷DFS

深度優先是用棧,先進後出;(二叉樹的深度優先遍歷就是先序遍歷) 廣度優先是用堆,先進先出。 深度優先搜索二叉樹是先訪問根結點,然後遍歷左子樹接着是遍歷右子樹,因此我們可以利用棧的先進後出的特點, 先將右子樹壓棧,再將左子樹壓棧,這樣左子樹就位於棧頂,可以保證結點的左子樹先與右子樹被遍歷。 代碼: # 深度優先遍歷 def dfs(self,root): stack = [] rs
相關文章
相關標籤/搜索