Java基礎之二叉樹與中序遍歷

2021-09-19 06:37:58 字數 944 閱讀 4060

資料結構之二叉樹實現

樹是一種重要的非線性資料結構,直觀地看,它是資料元素(在樹中稱為結點)按分支關係組織起來的結構。二叉樹(binary tree)是每個節點最多有兩個子樹的有序樹。通常子樹被稱作「左子樹」 和「右子樹」。

二叉樹演算法的排序規則:

1、選擇第乙個元素作為根節點

2、之後如果元素大於根節點放在右子樹,如果元素小於根節點,則放在左子樹

3、最後按照中序遍歷的方式進行輸出,則可以得到排序的結果(左根右)

}//輸出節點

public

void

print()

private

class

node

public

void

addnode

(int data)

else

}else

else}}

//中序遍歷(先序遍歷,後序遍歷)

public

void

printnode()

system.out.

print

(this

.data+

"->");

if(this

.right!=null)}}

}

package com.vince;

public

class

binarytreedemo

}

二叉樹中序遍歷

訪問根結點的的左子樹,訪問根結點和訪問根結點的右子樹依次記作 l,d r 中序遍歷 ldr 演算法 遍歷根結點的左子樹,訪問根結點 遍歷根結點的右子樹 對於上面的圖,我們假定只有a,b,c三個結點,則中序遍歷結果為 b a c 採用上節 二叉樹鏈式儲存和前序遍歷 中的遞迴推演 db a c d b ...

二叉樹中序遍歷

二叉樹中序遍歷 非遞迴版本的中序遍歷用棧來實現。乙個元素出現在棧頂一次,這一次會被處理並出棧。trick 用乙個指標去記錄當前節點cur,如果cur left左側還未遍歷,就會將cur入棧並訪問cur left。一行很重要的 是cur cur right,這一句之後如果cur null,則說明棧頂元...

二叉樹先序遍歷和中序遍歷確定二叉樹

由於希望得到一顆二叉樹,所以返回值型別是乙個指向根節點的指標 表示得到了一顆二叉樹 btnode creatbt char pre,char int,int l1,int r1,int l2,int r2 引數列表有傳入的先序序列和後序序列和他們的開頭和結尾 由於是遞迴函式,先寫乙個遞迴出口,顯然是...