Python實現二叉樹的非遞歸先序遍歷
思路: 1. 使用列表保存結果; 2. 使用棧(列表實現)存儲結點; 3. 當根結點存在,保存結果,根結點入棧; 4. 將根結點指向左子樹; 5. 根結點不存在,棧頂元素出棧,並將根結點指向 ...
大二這么久了,第一個學期課程實在太少,而且全都不是CS的專業課,無奈,若是自己不勤奮一點,過了半年,用不到半年,就又變回小白了。所以自己最近也在重新鞏固數據結構的知識。剛好看到二叉樹這里,覺得二叉樹應用廣泛,復習的比較細致。 剛開始就是二叉樹的建立了,大多數地方都是先序的遞歸創建,於是便想着試試非遞歸的代碼,倒騰了個把小時,基本上弄出代碼了,本渣渣水平有限,有錯誤的地方,望路過的大神不吝賜教 不 ...
2015-10-07 21:25 3 1958 推薦指數:
思路: 1. 使用列表保存結果; 2. 使用棧(列表實現)存儲結點; 3. 當根結點存在,保存結果,根結點入棧; 4. 將根結點指向左子樹; 5. 根結點不存在,棧頂元素出棧,並將根結點指向 ...
一、遞歸實現 以上的cout<<root->data;是對結點的一種操作,這里可以對結點做任意想做的操作。 二、非遞歸實現 ...
/08/25/2153720.html的思路。 一、先序遍歷二叉樹 1.遞歸遍歷 每次 ...
先序遍歷:若二叉樹為空,則空操作;否則訪問根節點;先序遍歷左子樹;先序遍歷右子樹。 中序遍歷:若二叉樹為空,則空操作;否則中序遍歷左子樹;訪問根節點;中序遍歷右子樹。 后序遍歷:若二叉樹為空,則空操作;否則后序遍歷左子樹;后序遍歷右子樹;訪問根節點。 二叉鏈表:鏈表中的結點包含三個域:數據域 ...
以上一篇的二叉樹為例子,先序遍歷 先訪問根節點,在訪問左節點,在訪問右節點,如圖: ...
、從左到右按層遍歷 5.二叉樹節點個數 6.二叉樹的最大深度 ...