二叉排序樹,是一種規整的二叉樹。每個節點的左子樹都小於他,每個節點的右子樹都大於他。
二叉樹的遍歷:
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 structview codebtreebtree;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 }
執行示例:
二叉排序樹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 必須是鍊錶儲存。動態查詢表就可以同時滿足這兩者。動態查詢表的特點是表結構本身在查詢過...