二叉排序樹1

2021-09-06 14:51:44 字數 1503 閱讀 1995

二叉排序樹,是一種規整的二叉樹。每個節點的左子樹都小於他,每個節點的右子樹都大於他。

二叉樹的遍歷:

void inordertree(btree *b)
二叉樹的查詢:

int searchtree(btree *b,int key,btree *f,btree *&p)

else

if( key == b->data)

else

if(key > b->data)

return searchtree(b->rchild,key,b,p);

else

return searchtree(b->lchild,key,b,p);

}

二叉樹的插入:

bool inserttree(btree *b,int

key)

else

if(key < p->data)

else

return

true

; }

else

return

false

;}

全部**:

1 #include 2 #include 3 typedef struct

btreebtree;78

void initialtree(btree *b);

9bool inserttree(btree *b,int

key);

10int searchtree(btree *b,int key,btree *f,btree *&p);

11void inordertree(btree *b);

1213

intmain()

2223

void inordertree(btree *b)

3031

void initialtree(btree *b)

39int searchtree(btree *b,int key,btree *f,btree *&p)

45else

if( key == b->data)

51else

if(key > b->data)

52return searchtree(b->rchild,key,b,p);

53else

54return searchtree(b->lchild,key,b,p);55}

56bool inserttree(btree *b,int

key)

66else

if(key < p->data)else

71return

true

;72 }else

73return

false

;74 }

view code

執行示例:

二叉排序樹1

二叉排序樹,是一種規整的二叉樹。每個節點的左子樹都小於他,每個節點的右子樹都大於他。二叉樹的遍歷 void inordertree btree b 二叉樹的查詢 int searchtree btree b,int key,btree f,btree p else if key b data els...

二叉排序樹1

二叉排序樹的建立 二叉排序樹的定義與描述 二叉排序樹的構造 private node root private class node查詢 在以x為根節點的子樹中查詢並返回key所對應的值 找不到返回空 private value get node x,key key int cmp key.comp...

二叉排序樹

在複習資料結構,把這個東西總結一下。這種結構是動態查詢表,這種動態是相對靜態查詢 順序查詢,折半查詢,分塊查詢等 來說的。對於各種靜態鍊錶,要達到查詢複雜度為o logn 必須要求有序 而要使插入刪除複雜度為o 1 必須是鍊錶儲存。動態查詢表就可以同時滿足這兩者。動態查詢表的特點是表結構本身在查詢過...