【資料結構虛擬碼】設計判斷一棵二叉樹是否是二叉排序樹的演算法

Talonc發表於2020-11-15

【資料結構虛擬碼】設計判斷一棵二叉樹是否是二叉排序樹的演算法

分析:先設定一個比所有結點都小的數令為minnum 初始值設為 -32768

int minnum= -32768 ; flag=1;
typedef struct (node){
int key ;
struct node
lchild,rchild;
}bitree;
void inorder (bitree * bt)
{
if(bt!=0)
{
inorder (bt->lchild);
if(minnum>bt->key)
flag=0; // 若最小數要大於判斷的值 則不是二叉排序樹
minnum=bt->key;//一直往下找 每遇到一個小的就賦值給minnum
inorder(bt->rchild);//從右子樹繼續往下
}
}

相關文章