2023年8月18日 二叉樹遍歷

2021-10-09 07:13:54 字數 1649 閱讀 8208

//層次遍歷二叉樹

#include

#include

#include

#include

typedef

int elemtype;

//二叉樹節點 鏈式

typedef

struct bitnode

bitnode,

*bitree;

//鏈隊節點

typedef

struct linknode

linknode;

//鏈隊

typedef

struct linkqueue

linkqueue;

//鏈隊初始化

void

initqueue

(linkqueue &q)

//判隊空

bool isempty

(linkqueue q)

//鏈隊入隊

void

enqueue

(linkqueue &q, bitree x)

//bitree x 等價於 bitnode *x

//鏈隊出隊

bool dequeue

(linkqueue &q, bitree &x)

//層序遍歷

void

levelorder

(bitree t)

}bitree createbitree

(bitree &t)

return t;

}int

main()

中序線索二叉樹的構造

//二叉樹節點 鏈式

typedef

struct threadnode

threadnode,

*threadtree;

threadnode *pre =

null

;//建構函式

void

visit

(threadnode *q)

if(pre !=

null

&& pre->rchild ==

null

) pre = q;

}//中序線索二叉樹的構造

void

inthread

(threadtree t)

}

先序線索二叉樹的構造

//二叉樹節點 鏈式

typedef

struct threadnode

threadnode,

*threadtree;

threadnode *pre =

null

;//建構函式

void

visit

(threadnode *q)

if(pre !=

null

&& pre->rchild ==

null

) pre = q;

}//先序線索二叉樹的構造

void

prethread

(threadtree t)

}

2023年12月5日 平衡二叉樹

輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。在這裡,我們只需要考慮其平衡性,不需要考慮其是不是排序二叉樹 平衡二叉樹 balanced binary tree 具有以下性質 它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡二叉樹。思路 肯定是遞迴去尋找高度比較 ...

8 二叉樹遍歷

typedef struct node node node root 先序遍歷 dlr node root 中序遍歷 ldr node root 後序遍歷 lrd node root 通過先序遍歷和後序遍歷確定不了乙個數。bintree createbtpre return t 分析1 什麼時候訪問...

110 平衡二叉樹 8月17日

110.平衡二叉樹 遞迴解決 後續遍歷,先得到當前節點兩棵子樹的高度,比較是否滿足條件 返回較大值作為當前節點的高度。每個節點作為根的高度之差 definition for a binary tree node.struct treenode class solution return max h1...