public class binarysearchtree>
}public binarysearchtree()
/** 插入元素
*/public boolean insert(t t)
nodenewnode=new node(t,null,null,null);//建立乙個節點
nodepointer=root;
while(true)else
}else if(newnode.value.compareto(pointer.value)<0)else
}else}}
/** 查詢元素
*/public t get(t t)
/** 查詢節點
*/private nodegetn(t t)else if(cur.value.compareto(t)>0)else
}return cur;}/*
* 獲取某節點為根的樹的最小元素
*/public t min(noden)
private nodeminn(noden)
return min;}/*
* 獲取某節點為根的樹的最大元素
*/public t max(noden)
private nodemaxn(noden)
return max;}/*
* 中序遍歷
*/public void leftrootright()
private void printlrr(nodenode)}/*
* 獲取元素前驅
*/public t prev(t t)
return null;
}private t locateprev(nodecur)
/** 定位到前驅節點
*/private nodelocateprevn(nodecur)
return p==null?null:p;
}return null;
}public t next(t t)
return null;
}private t locatenext(nodecur)
private nodelocatenextn(nodecur)
return p;
}public boolean remove(t t)
}return false;
}private boolean doremove(nodecur)else if(cur.left!=null&&cur.right!=null)else else if(cur.left != null && cur.right == null)
if(isroot)
if (cur == cur.parent.right) //該節點為父節點右孩子
cur.parent.right = needlinkednode;
else
cur.parent.left = needlinkednode;
return true;}}
//測試
public static void main(string args)
二插查詢樹(BST)
二插查詢樹是這樣一種二叉樹結構,它的每乙個結點包含乙個key和它附帶的資料,對每乙個結點v 所有的key小於v都被儲存在v的左子樹 所有key大於v的都存在v的右子樹 class bstnode object def init self,key,value,left none right none ...
Java 實現二叉查詢樹
created by albert.bai on 2014 11 4.public class bitree 實現一顆空的二叉樹 public bitree 遞迴的插入資料 public treenode insert int value 當二叉樹為空時 直接將值賦予root 當value小於等於父...
java實現二叉樹演算法 查詢
構造樹如下 其中二叉樹節點類 二叉樹節點 public class btnode public btnode char key,btnode left,btnode right public char getkey public void setkey char key public btnode ...