二叉樹排序

2021-07-28 02:20:25 字數 1368 閱讀 4497

二叉樹排序**實現(重複資料無法插入)

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 若右子樹不空,則右子...