//層次遍歷二叉樹
#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...