二叉排序樹或者是一棵空樹,或者是具有下列性質的二叉樹:
(1)若左子樹不空,則左子樹上所有節點的值均小於它的根節點的值;
(2)若右子樹不空,則右子樹上所有節點的值均大於它的根節點的值;
(3)左、右子樹也分別為二叉排序樹;
(4)沒有鍵值相等的節點。
以下只建立並先序列印出二叉排序樹
#include #include #include typedef struct treenode*btnode,btnode;
btnode *insert(btnode &bt,int k)else
} p = (btnode *)malloc(sizeof(btnode));
p->key = k;
p->lchild=p->rchild=null;
if(bt==null)else if(f->key>k)else
return bt;
}//先序遍歷
void preorder(btnode root)
} int main()
preorder(bt);
return 0;
}
資料結構之二叉排序樹
二叉排序樹 bst binary sort search tree 對於二叉排序樹的任何乙個非葉子節點,要求左子節點的值比當前節點的值小,右子節點的值比當前節點的值大。特別說明 如果有相同的值,可以將該節點放在左子節點或右子節點 比如針對前面的資料 7,3,10,12,5,1,9 對應的二叉排序樹為...
資料結構之二叉排序樹
別名 二叉搜素樹,二叉查詢樹 線性結構的缺點 順序儲存 不排序 查詢困難,只能通過線性查詢乙個乙個找 排序 刪除和插入操作困難 鏈式結構 無論排序還是不排序,查詢都十分麻煩 注 二叉排序樹 bst 可以解決上述的問題 對於乙個二叉樹中的任意乙個非葉子節點,要求左子節點比當前節點小,右子節點比當前節點...
資料結構之二叉排序樹
1.什麼是二叉排序樹?二叉排序樹 binary sort tree 又稱二叉查詢樹 binary search tree 亦稱二叉搜尋樹。它或者是一棵空樹 或者是具有下列性質的二叉樹 1 若左子樹不空,則左子樹上所有結點的值均小於它的根結點的值 2 若右子樹不空,則右子樹上所有結點的值均大於或等於它...