JAVA 二叉樹遍歷

2021-07-05 02:26:10 字數 857 閱讀 8499

二叉樹的定義如下:

public

class treenode

}

遞迴的版本很簡單,下面僅列出非遞迴的版本。

//先序遍歷

public

void

searchpreorder(treenode root)

while (root != null)

if (root.left != null) else

root = s.pop();}}

}

//中序遍歷

public

void

searchmidorder(treenode root)

if (!s.isempty())

}}

//後序遍歷

public

void

searchpostorder(treenode root)

do t = null;

flag = 1;

while ((!s.isempty()) && (flag == 1)) else

}} while (!s.isempty());

}

//層次遍歷

public

void

levelsearch(treenode root)

s.add(root);

while (!s.isempty())

if (t.right != null)

}}

在這做個記錄,方便以後查閱。

二叉樹的遍歷(java)

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

二叉樹的遍歷 Java

二叉樹的遍歷分為三種 先序遍歷,中序遍歷和後序遍歷 也就是根左右,左根右,左右根。這三種遍歷的思路大概應該都懂,現貼一段遞迴方式遍歷二叉樹的 是複製的,之前寫過,這種遞迴實現的思想其實很簡單 package order date 2017年7月1日上午9 26 02 public class bin...

java版遍歷二叉樹

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