查詢樹ADT 二叉查詢樹

2022-06-15 17:54:09 字數 1358 閱讀 3472

二叉樹的乙個重要應用是它們在查詢中的使用。

二叉查詢樹的性質:對於樹中的每個節點x,它的左子樹中所有項的值小於x中的項,而它的右子樹中所有項的值大於x中的項。這意味著該樹所有的元素可以用某種一致的方式排序。

二叉查詢樹的平均深度是o(logn)。二叉查詢樹要求所有的項都能夠排序。樹中的兩項總可以使用comparable介面中的compareto方法比較。

adt的宣告:

struct treenode;

typedef struct treenode *position;

typedef struct treenode *searchtree;

searchtree makeempty(searchtree t);

position find(elementtype x, searchtree t);

position findmax(searchtree t);

position findmin(searchtree t);

searchtree insert(elementtype x, searchtree t);

searchtree delete(elementtype x, searchtree t);

elementtype retrieve(position p);

struct treenode;

searchtree makeempty(searchtree t)

return null;

}

position find(elementtype x, searchtree t)
position findmin(searchtree t)

position findmax(searchtree t)

searchtree insert(elementtype x, searchtree t)

else if(x < t->element)

t->left = insert(x, t->left);

else if(x > t->element)

t->right = insert(x, t->right);

// else x is in the tree already, we'll do nothing!

return t;

}

searchtree delete(elementtype x, searchtree t)

else

return t;

}

JAVA之查詢二叉樹ADT

查詢二叉樹adt 性質 對於樹中每個節點x,它的左子樹所有項的值小於x中的項而它的右子樹所有項的值大於x中的項 查詢二叉樹adt 性質 對於樹中每個節點x,它的左子樹所有項的值小於x中的項 而它的右子樹所有項的值大於x中的項 public class binarysearchtree public ...

查詢 二叉查詢樹

原始碼 目錄 順序查詢 二分查詢 插值查詢 斐波那契查詢 分塊查詢 雜湊查詢 二叉樹查詢 紅黑樹查詢 二叉查詢樹又稱二叉排序樹又稱二叉搜尋樹,如不為空則有以下性質 1.若任意節點的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值 2.若任意節點的右子樹不空,則右子樹上所有結點的值均大於它的根結...

樹(樹,二叉樹,二叉查詢樹)

1.定義 n n 0 個結點構成的有限集合。當n 0時,稱為空樹 2.對於任一棵非空樹 n 0 它具備以下性質 1 樹中有乙個稱為 根 root 的特殊結點,用 r 表示 2 其餘結點可分為m m 0 個互不相交的有限集t1,t2,其中每個集合本身又是一棵樹,稱為原來樹的子樹。3.樹的一些性質 1 ...