二叉判定樹和二叉排序樹有什麼區別

2021-05-21 06:42:44 字數 1262 閱讀 3132

1樓:大野瘦子

一、用法不同

二叉判定樹是用於描述解決問題的思路,比如可以使用判定樹描述n個數的比較過程,正如你所提到的,它也可以用於描述折半查詢的過程,從這個判定樹分析演算法的效率,

二叉排序樹是用於排序的,它是一種排序方法。

二、性質

二叉排序樹又稱為二叉查詢樹,是一種特殊的二叉樹。他或者是一種空樹,或者時具有下面性質的二叉樹:

若他的右子樹非空,則右子樹上所有節點的值均大於根節點的值。

若他的左子樹非空,則左子樹上所有節點的值都小於根節點的值。

左、右子樹本身又各時一棵二叉排序樹。

三、查詢結果

二叉排序樹首先將給定值和根結點的關鍵字比較,若相等,則查詢成功,若不相等,則根據給定值和根結點關鍵字之間的大小關係,在左子樹或右子樹上繼續進行查詢。

若查到為空樹時,說明該樹中沒有待查記錄,故查詢不成功。

2樓:匿名使用者

二叉判定樹是用來分析某個演算法而設計的二叉樹,

如:可以用來分析折半查詢的過程,分析幾個數字的比較過程等;

而二叉排序樹是用來對一組關鍵字進行排序的方法。

折半查詢和二叉排序樹有什麼區別嗎

3樓:america唔話你

二叉判定樹是用來分析某個演算法而設計的二叉樹, 如:可以用來分析折半查詢的過程,分析幾個數字的比較過程等; 而二叉排序樹是用來對一組關鍵字進行排序的方法。

最佳二叉搜尋樹是什麼?與二叉搜尋樹有什麼區別?

4樓:愛漫畫的小孩子

二叉查詢樹與二叉排序樹區別

就平均時間效能而言,二叉排序樹上的查詢和二分查詢差不多。

就維護表的有序性而言,二叉排序樹無須移動結點,只需修改指標即可完成插入和刪除操作,且其平均的執行時間均為o(lgn),因此更有效。二分查詢所涉及的有序表是一個向量,若有插入和刪除結點的操作,則維護表的有序性所花的代價是o(n)。當有序表是靜態查詢表時,宜用向量作為其儲存結構,而採用二分查詢實現其查詢操作;若有序表裡動態查詢表,則應選擇二叉排序樹作為其儲存結構。

二叉排序樹和線索二叉樹有什麼區別????分別什麼意思?

5樓:潮汐之湧動

二叉排序樹本質上是一棵普通的二叉樹,只是有左孩子的值>父母結點的值》右孩子的值這個特性。至於線索二叉樹就是每個結點加了兩個左右標誌,這樣就可以像對線性表遍歷那樣直接對二叉樹進行遍歷而不用使用遞迴或棧或佇列之類的。

B樹和二叉排序樹,B樹和B 樹的區別

先從資料結構的角度來答。題主應該知道b 樹和b 樹最重要的一個區別就是b 樹只有葉節點存放資料,其餘節點用來索引,而b 樹是每個索引節點都會有data域。這就決定了b 樹更適合用來儲存外部資料,也就是所謂的磁碟資料。從mysql inoodb 的角度來看,b 樹是用來充當索引的,一般來說索引非常大,...

平衡二叉樹定義,討論請問平衡二叉樹和二叉排序樹的關係

所謂平衡二叉樹是指樹中任一結點的左 右子樹高度大致相同。平衡二叉樹有很多種最著名的是由前蘇聯數學家adelse velskil和landis在1962年提出的,稱為avl樹。平衡二叉樹 avl樹 定義如下 平衡二叉樹或者是一棵空樹,或者是具有以下性質的二叉排序樹 1 它的左子樹和右子樹的高度之差絕對...

急!C語言二叉排序樹的實現課程設計

include include typedef struct tnodebstnode,node typedef bstnode node 插入 void insertbst node t,int key else if key t data insertbst t lchild,key else ...