資料結構與演算法學習筆記 順序儲存二叉樹

2021-10-09 10:09:10 字數 1134 閱讀 6812

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

順序儲存二叉樹的特點

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

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

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

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

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

需求:給你乙個陣列,要求以二叉樹前序遍歷的方式進行遍歷。

package tree;

public

class

arrbinarytreedemo

;//建立乙個 arrbinarytree

arrbinarytree arrbinarytree =

newarrbinarytree

(arr)

; arrbinarytree.

preorder()

;// 1,2,4,5,3,6,7}}

//編寫乙個arraybinarytree, 實現順序儲存二叉樹遍歷

class

arrbinarytree

//過載preorder

public

void

preorder()

//編寫乙個方法,完成順序儲存二叉樹的前序遍歷

/** *

* @param index 陣列的下標

*/public

void

preorder

(int index)

//輸出當前這個元素

system.out.

println

(arr[index]);

//向左遞迴遍歷if(

(index *2+

1)< arr.length)

//向右遞迴遍歷if(

資料結構與演算法學習筆記

演算法基礎篇 第一章 演算法概述 首先了解一下基本的概念 1.1 什麼是演算法呢?從字面意義上理解,演算法就是用於計算的方法,用這種方法達到預期的結果。通俗的講,演算法可以理解為乙個完整的解題步驟,由一些基本的運算和規定的運算順序組成。通過這樣的解題步驟可以解決特定的問題。演算法可以抽象出5個特徵 ...

資料結構與演算法學習筆記(一)

資料 計算機操作的物件 資料元素 組成資料的基本基本單位 資料項 乙個資料元素可以由若干個資料項組成 資料物件 性質相同的資料元素的集合 資料結構 是相互之間存在一種或多種特定關係的資料元素的集合 資料型別 1.原子型別 不可以在分解的基本型別,包括整型,字元型 2.結構型別 由若干個型別組合而成 ...

資料結構與演算法學習筆記3

最好情況時間複雜度 最壞情況時間複雜度 平均情況時間複雜度 均攤時間複雜度 例 在乙個無序的陣列 array 中,查詢變數 x 出現的位置。如果沒有找到,就返回 1 n表示陣列array的長度 intfind int array,int n,int x return pos 時間複雜度 o n nn...