二叉搜尋樹(二叉排列樹或二叉查詢樹)

2021-08-30 11:40:27 字數 2191 閱讀 6541

1、二叉排序樹性質:

1、就是若它的左子樹不空,則左子樹上所有節點的值均小於它的根節點的值;

2、若它的右子樹不空,則右子樹上所有節點的值均大於其根節點的值。

3、換句話說就是:任何節點的鍵值一定大於其左子樹中的每乙個節點的鍵值,並小於其右子樹中的每乙個節點的鍵值。

2、二叉排序樹查詢

要在二叉樹中找出查詢最大最小元素是極簡單的事情,從根節點一直往左走,直到無路可走就可得到最小值;從根節點一直往右走,直到無路可走,就可以得到最大值。

/*二叉搜尋樹/二叉查詢樹/二叉排列數

*/public class node

//向子樹中新增節點

public void add(node node)

//判斷傳入節點的值比當前節點大還是小

//新增節點比當前節點更小

if(node.valuevalue&&this.left!=null) else if(this.value

return null;

} }

@override

public string tostring()

}

package org.sxt.tree2;

/*二叉搜尋樹/二叉查詢樹/二叉排列數

*/public class binarysorttree else

}//中序遍歷二叉樹,正好是從大到小的順序

public void midshow()

}//查詢節點

public node search(int value) else

}//查詢父節點

public node searchparent(int value) else

}//刪除節點

public void delete(int value) else

//找到他的父節點

node parent=searchparent(value);

//如果要刪除的是葉子節點,直接將其父節點的指向變空

if(target.left==null&&target.right==null) else if(target.left!=null&&target.right!=null) else else

}} }

}//刪除一顆資料中最小的節點(一定在左樹)

private int deletemin(node node)

//刪除最小的這個節點

delete(target.value);

return target.value;

}}

package org.sxt.tree2;

/*二叉搜尋樹/二叉查詢樹/二叉排列數

*/public class testbinarysorttree ;

//建立一顆二叉樹

binarysorttree bst=new binarysorttree();

//迴圈新增

for(int i:arr)

//中序遍歷

bst.midshow();

//查詢節點

system.out.println("-------");

node node=bst.search(10);

system.out.println(node);

node node2=bst.search(20);

system.out.println(node2);

//測試查詢父節點

node p1=bst.searchparent(12);

system.out.println(p1.value);

system.out.println("---------");

bst.delete(1);

bst.midshow();

}}

二叉排序樹 二叉搜尋樹 二叉查詢樹

特點 結構體定義struct node 建樹 建二叉排序樹 void create node root,int t else if t root data create root lc,t else create root rc,t 前序遍歷 層序 字典序 int flag int pre 1001...

二叉排序樹(二叉查詢樹 二叉搜尋樹)

include include typedef struct node node node createnode int value void addnode node root,int value else else void middleorder node node middleoder no...

二叉搜尋樹 二叉搜尋樹

題目 二叉搜尋樹 time limit 2000 1000 ms j a others memory limit 32768 32768 k j a others total submission s 6945 accepted submission s 3077 problem descripti...