二叉樹排序**實現(重複資料無法插入)
public class mytree
}/**
* 列印整個二叉樹
*/public void print()
/** * 從node節點開始察看二叉樹
* @param node
*/public void see(node node)
}/**
* 不可重複新增資料
* @param data
*/public void add(object data)else else
}}else
}/**
* 刪除資料
* @param data
*/public void remove(object data)else
}/**
* 刪除某個節點
* @param node
*/private void delete(node node) else if (node.right == null) else if (node.left == null) else
}else else
}else if (node.right == null) else
}else if (node.left == null) else
}else else }}
}/**
* **兩個兒子,保留左兒子,將右兒子放到左兒子的最右邊
* @param node
* @return
*/private node splite(node node)
/** * 比較兩個資料大小的方法
* @param data1
* @param data2
* @return
*/@suppresswarnings()
public int compare(object data1,object data2)else
return c1.compareto(c2);
}/**
* 從node節點開始遍歷給data找父節點
* @param data
* @return
*/private node findparent(object data,node node) else
}return parent;
}/**
* 找資料所在的節點
* @param data
* @return
*/private node findnode(object data) else else }}
return node;
}/測試案例/
public class testtree
二叉樹,排序二叉樹
說到二叉樹,這可是資料結構裡面的非常重要的一種資料結構,二叉樹是樹的一種,本身具有遞迴性質,所以基於二叉樹的一些演算法很容易用遞迴演算法去實現。作為一種非線性結構,比起線性結構還是相對複雜的,很多人甚至看不懂演算法的意思,不能理解。其實一開始接觸這些東西還是挺暈的,不過你多看幾遍,上機實現可能你就會...
排序二叉樹or搜尋二叉樹or查詢二叉樹
排序二叉樹,搜尋二叉樹,查詢二叉樹都是乙個意思,只是叫法不同而已。下面的文章中我們統稱為排序二叉樹。本文主要是針對高中資訊學,因此其中不涉及到指標,所有需要用指標的地方都直接使用陣列進行模擬。排序二叉樹定義 1 若左子樹不空,則左子樹上所有結點的值均小於或等於它的根結點的值 2 若右子樹不空,則右子...
排序二叉樹or搜尋二叉樹or查詢二叉樹
排序二叉樹,搜尋二叉樹,查詢二叉樹都是乙個意思,只是叫法不同而已。下面的文章中我們統稱為排序二叉樹。本文主要是針對高中資訊學,因此其中不涉及到指標,所有需要用指標的地方都直接使用陣列進行模擬。排序二叉樹定義 1 若左子樹不空,則左子樹上所有結點的值均小於或等於它的根結點的值 2 若右子樹不空,則右子...