二叉樹的遍歷 Java

2021-08-03 06:33:11 字數 1312 閱讀 8114

二叉樹的遍歷分為三種:先序遍歷,中序遍歷和後序遍歷

也就是根左右,左根右,左右根。這三種遍歷的思路大概應該都懂,現貼一段遞迴方式遍歷二叉樹的**:

//**是複製的,之前寫過,這種遞迴實現的思想其實很簡單

package order;

/** *@date 2023年7月1日上午9:26:02

*/public

class

binarytree

public node getroot()

/** 構造樹 */

public

static node init()

/** 訪問節點 */

public

static

void

visit(node p)

/** 遞迴實現前序遍歷 */

protected

static

void

preorder(node p)

}/** 遞迴實現中序遍歷 */

protected

static

void

inorder(node p)

}/** 遞迴實現後序遍歷 */

protected

static

void

postorder(node p)

}public

static

void

main(string args)

}class node

public

node(char key, node left, node right)

public

char

getkey()

public

void

setkey(char key)

public node getleft()

public

void

setleft(node left)

public node getright()

public

void

setright(node right)

}

關於二叉樹的遍歷還說一點:

前序序列獲得的是根(第乙個節點);

中序序列獲得的是左右子樹劃分;

後序序列獲得的是根(最後乙個節點)。

前序序列和後序序列只能獲得根,不能獲得左右子樹劃分,所以不能唯一確定一顆二叉樹。

(前序+中序)或者(後序+中序)都能唯一確定一顆二叉樹。

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...

java版遍歷二叉樹

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