20 順序儲存二叉樹

2021-10-07 07:18:56 字數 1436 閱讀 8524

從資料儲存來看,陣列儲存方式和樹的儲存方式可以相互轉換,即陣列可以轉換成樹,樹也可以轉換成陣列。

示意圖

順序二叉樹通常只考慮完全二叉樹。

第 n 個元素的左子節點為 2 * n + 1 。

第 n 個元素的右子節點為 2 * n + 2 。

第 n 個元素的父節點為 (n-1) / 2 。

n : 表示二叉樹中的第幾個元素(按 0 開始編號如圖所示)。

public

class

arrbinarytreedemo

; arrbinarytree arrbinarytree =

newarrbinarytree

(arr)

;arrbinarytree.

postorder()

;}}class

arrbinarytree

// 過載前序遍歷

public

void

preorder()

// 過載中序遍歷

public

void

infixorder()

// 過載後序遍歷

public

void

postorder()

// 前序遍歷順序儲存二叉樹

private

void

preorder

(int index)

system.out.

println

(arr[index]);

if((index *2+

1)< arr.length)if(

(index *2+

2)< arr.length)

}// 中序遍歷順序儲存二叉樹

private

void

infixorder

(int index)if(

(index *2+

1)< arr.length)

system.out.

println

(arr[index]);

if((index *2+

2)< arr.length)

}// 後序遍歷順序儲存二叉樹

private

void

postorder

(int index)if(

(index *2+

1)< arr.length)if(

(index *2+

2)< arr.length)

system.out.

println

(arr[index]);

}}

順序儲存二叉樹

從資料儲存來看,陣列儲存方式和樹的儲存方式可以相互轉換,即陣列可以轉換成樹,樹也可以轉換成陣列,看下面的示意圖。順序二叉樹通常只考慮完全二叉樹 第n個元素的左子節點為 2 n 1 第n個元素的右子節點為 2 n 2 第 n 個元素的父節點為 n 1 2 n 表示二叉樹中的第幾個元素 按 0 開始編號...

順序儲存二叉樹

從資料儲存來看,陣列儲存方式和樹的儲存方式可以相互轉換,即陣列可以轉換成樹,樹也可以轉換成陣列。陣列轉換成樹即是將陣列中的各個元素按照二叉樹的層次儲存起來的過程。原陣列 1,2,3,4,5,6,7 轉換為順序二叉樹如下圖所示 順序儲存二叉樹的特點 通常只考慮完全二叉樹 第n個元素的左子節點為2 n ...

順序儲存二叉樹

package com.datastructure.tree.binarytree 順序儲存二叉樹 1。順序儲存二叉樹通常只考慮完全二叉樹 2。第n個元素的左子節點為2 n 1 3。第n個元素的右子節點為2 n 2 4。第n個元素的父親節點為 n 1 2 public class sequentia...