二叉排序樹1

2021-09-30 19:47:15 字數 659 閱讀 9003

二叉排序樹的建立

二叉排序樹的定義與描述:

二叉排序樹的構造:

private node root;

private class node

查詢:

//在以x為根節點的子樹中查詢並返回key所對應的值

//找不到返回空

private value get(node x, key key)

int cmp = key.compareto(x.key);

if(cmp < 0) else if(cmp > 0) else

}

插入:

//如果key存在與以x為結點的子樹中則更新它的值

//否則將以key和val為鍵值對的新節點插入到該子樹中;

private node put(node x, key key, value val)

int cmp = key.compareto(x.key);

if(cmp < 0) else if(cmp > 0) else

x.n = size(x.left) + size(x.right) + 1;

return x;

}

二叉排序樹1

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

二叉排序樹1

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

二叉排序樹

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