樹論 二叉搜尋樹

2021-10-02 11:52:22 字數 818 閱讀 5721

package com.redis.redandblack;

/** * 特點:

* 1.如果它的左子樹不為空,則左子樹上的節點值小於根節點

* 2.如果它的右子樹不為空,則右子樹上的節點值大於等於根節點

* 3.子樹同樣遵循以上兩點

* 只要一棵樹是二叉查詢樹,那麼中序遍歷一定是有序的

* 二叉查詢演算法?

* 歸併排序:每一次分一半,最終分的是logn

*/public class binarysearchtree

public int getdata()

public void setdata(int data)

public binarysearchtree getleft()

public void setleft(binarysearchtree left)

public binarysearchtree getright()

public void setright(binarysearchtree right)

/*** @param root 根節點

* @param data 插入的值

*///插入的時候每次都是和根節點比較,一直找到插入的位置

//插入的過程就是查詢的過程

public void insert(binarysearchtree root, int data) else

} else else }}

public void find(binarysearchtree root, int data) else }}

}

樹論之二叉搜尋樹

二叉查詢樹 binary search tree 又 二叉搜尋樹,二叉排序樹 它或者是一棵空樹,或者是具有下列性質的二叉樹 若它的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值 若它的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值 它的左 右子樹也分別為二叉排序樹。如果要刪除的節點是...

二叉搜尋樹 二叉搜尋樹

題目 二叉搜尋樹 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...

二叉搜尋樹 修剪二叉搜尋樹

第一反應是重構,看來別人的解答發現,其實不用重構那麼複雜。treenode trimbst treenode root,int low,int high if root val high 下一層處理完左子樹的結果賦給root left,處理完右子樹的結果賦給root right。root left ...