二叉樹的遍歷 Java版

2021-07-11 08:35:31 字數 888 閱讀 9074

下面給出二叉樹的前序、後序、中序遍歷的遞迴和非遞迴加上層序的非遞迴演算法

/*前序遍歷,遞迴*/

public void preorder(treenode root)

} /*中序遍歷,遞迴*/

public void inorder(treenode root)

} /*後序遍歷,遞迴*/

public void postorder(treenode root)

} /*前序遍歷非遞迴*/

public void preordernonrecursion(treenode root)

treenode tn = stack.pop();

node = tn.right;

} }/*中序遍歷非遞迴*/

public void inordernonrecursion(treenode root)

treenode tn = stack.pop();

visit(tn);

node = tn.right;

} }/*後序遍歷非遞迴*/

public void postordernonrecursion(treenode root)

treenode tn = stack.peek();

//如果該節點的右孩子為空,或者改節點的右孩子已經被訪問過,那麼訪問該節點

if(tn.right==null||tn.right==previst)else

node = tn.right;

} }/*層序遍歷,非遞迴*/

public void cengnonrecursion(treenode root)

}public void visit(treenode node)

java版遍歷二叉樹

首先編寫二叉樹類binarytree,如下 package package2 public class binarytree public void insert binarytree root,int data else else else 當建立好二叉樹類後可以建立二叉樹例項,並實現二叉樹的先根...

JAVA 二叉樹遍歷

二叉樹的定義如下 public class treenode 遞迴的版本很簡單,下面僅列出非遞迴的版本。先序遍歷 public void searchpreorder treenode root while root null if root.left null else root s.pop 中序...

二叉樹的遍歷(java)

二叉樹的遍歷分為中序,前序,後序 就是利用函式遞迴來實現的遍歷,沒啥好說的,直接上 class treenode public class binarytree treenode currentnode rootnode while true else else else 中序遍歷 public v...