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 ...