二叉排序樹基本操作

2021-08-18 17:29:38 字數 1149 閱讀 7532

二叉排序樹,顧名思義,是一種排列好順序的二叉樹。它的排序規則是:每個結點的左子樹上的值都比它本身的值小,右子樹上的值都比它本身的值大。

#include #include #define true     1

#define false 0

typedef struct binode

binode, *bitree;

int searchbst (bitree t, int key, bitree f, bitree *p)

else if(t->data == key)

else if (key < t->data)

else

}void insertbst (int key, bitree *t)

else if(key < s->data)

else

}}void creatbst (bitree *t, int *arry)

}void preordertree (bitree t)

printf("%d ", t->data);

preordertree(t->lchild);

preordertree(t->rchild);

}void delete (int key, bitree *p) //刪除查詢的結點

else if(!(*p)->lchild)

else

(*p)->data = s->data;

if(q != *p)

else

free(s);

}}void deletrbst (bitree *t, int key)

else if(key == (*t)->data)

else if(key < (*t)->data)

else

}int main ()

creatbst(&t, arry);

preordertree(t);

printf("\nenter delete num:\n");

scanf("%d", &key);

deletrbst(&t, key);

preordertree(t);

return 0;

}

二叉排序樹基本操作

1.儲存結構 二叉鍊錶 include include typedef struct bitnode bitnode,bitree 2.二叉排序樹查詢演算法 遞迴查詢二叉排序樹t中是否存在key status search bitree t,int key,bitree f,bitree p p指向...

二叉排序樹基本操作

題目描述 編寫一棵二叉排序樹,來支援以下 6 種操作 插入 x 數 刪除 x 數 若有多個相同的數,因只刪除乙個 如果 x 不存在則不需要刪除 查詢 x 數的排名 排名定義為比當前數小的數的個數 1 如果 x 不存在則輸出 1 查詢排名為 x 的數 如果 x 大於樹中元素個數,則輸出 1 求 x 的...

二叉排序樹的基本操作

二叉排序樹 其中有插入 刪除 查詢操作 include include define false 0 define ture 1 define maxsize 10 typedef struct bitnode bitnode,bitree 查詢 f指向t的雙親,初始時為null 這裡用f,p,是問...