二分搜尋樹的遍歷

2021-09-27 02:00:43 字數 1109 閱讀 8212

遍歷:訪問二分搜尋樹的每乙個元素。

深度優先遍歷

每乙個,節點訪問三次。第一次訪問節點的時候最數進行操作。

public void preorder() 

// 前序遍歷以node為根的二分搜尋樹,遞迴

private void preorder(node node)

} public string tostring()

//生成以node為節點,深度為depth的描述二叉樹的字串

private void generatebststring(node node,int depth,stringbuilder res)

generatebststring(node.left,depth+1,res);

generatebststring(node.right,depth+1,res);

}public string generatedepthstring(int depth)

if (cur.left == null)

} }

先訪問左子樹,再訪問節點,再訪問右子樹

第二次訪問資料的時候進行操作。

public void inorder() 

public void inorder(node node)

先遍歷左邊的,再遍歷右邊的,再遍歷節點。

第三次訪問資料的時候進行操作。

public void postorder() 

private void postorder(node node)

從左到右。(佇列)

public void levelorder() 

if(cur.right!=null)

} }

可更快找到想要查詢的元素。

常用與演算法的設計中-無全圖的最短的路徑。

ps:在定義乙個方法的時候,如果不想讓使用者看到方法的內容可以再定義乙個private方法,用public方法呼叫private方法

二分搜尋樹的遍歷

對於一棵二叉樹來說,如果我們想要把這棵樹中的所有節點都給遍歷一遍,那麼我們就需要了解二叉樹的遍歷方式。二叉樹的遍歷方式分為以下三種 二叉樹的乙個簡單的結構如下圖所示 對於其中的 前 中 後 我們都可以理解為是根節點的訪問順序。遍歷時,我們分為三個階段 前 中 後 對於前序遍歷來說 也就是在前階段訪問...

二分搜尋樹 中序遍歷

二分搜尋樹的中序遍歷結果是順序的 package tree 具有可比性的泛型 public class bstcomparable private node root private int size public bst public intsize public boolean isempty ...

5 5 二分搜尋樹的遍歷(深度優先遍歷)

首先嘗試走到最深。遍歷方式 對遍歷方式解釋 前序遍歷 先訪問當前節點,再依次遞迴訪問左右子樹。中序遍歷 先遞迴訪問左子樹,再訪問自身 再遞迴訪問右子樹。後序遍歷 先遞迴訪問左右子樹,再訪問自身節點。釋放整個二叉樹的時候會使用到後序遍歷。把握要點 訪問當前節點的順序是在前面 中間還是在後面。其實,的實...