資料結構 順序儲存二叉樹

2022-07-31 13:00:19 字數 852 閱讀 1040

#include 

<

iostream

>

using

namespace

std;

#define

max_node_size 100

//二叉樹的最大節點數

typedef

char

sqbitree[max_node_size+1

];

//0號單元節點個數

//建立二叉樹

void

creat_tree(sqbitree &t)

t[0]=

i;}//獲取給定結點(位置)的左孩子的結點位置

intleftchild_locate(sqbitree &t,

intnode)

//獲取給定結點(位置)的右孩子的結點位置

intrightchild_locate(sqbitree &t,

intnode)

//層序遍歷

void

level_order(sqbitree &t)

//先序遍歷

void

pre_order(sqbitree &t,

inti)

else}//

中序遍歷

void

mid_order(sqbitree &t,

inti)

else}//

後序遍歷

void

back_order(sqbitree &t,

inti)

else

}int

main()

資料結構之順序儲存二叉樹

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

資料結構 解析二叉樹的順序儲存

二叉樹的儲存結構可以分為兩種 在上篇文章 資料結構 樹 二叉樹及四種遍歷解析實現 使用鏈式儲存二叉樹,這篇完成順序儲存 以陣列的方式存放二叉樹,要完成4種遍歷方式,需要陣列與樹結點存在對應關係 順序儲存二叉樹的特點 n表示陣列的下標,對應二叉樹的第幾個元素 如2,是陣列下標1,左子結點為2 1 1 ...

資料結構 24 順序結構儲存二叉樹堆

pragma once typedef int hpdatatype typedef struct heap heap 用陣列初始化堆 void initheap heap hp,hpdatatype array,int size 初始化乙個空堆 void initemptyheap heap hp...