二叉排序樹怎么構造 二叉排序樹的插入,如果遇到,相同的節(jié)點,怎么辦?
二叉排序樹的插入,如果遇到,相同的節(jié)點,怎么辦?二進制排序樹只提供了一個數(shù)據(jù)結構。如果不加以應用,它的存在就毫無意義。所以您想要什么取決于您的具體需求。如果在實際應用程序中允許相同的值,則可以左右插入
二叉排序樹的插入,如果遇到,相同的節(jié)點,怎么辦?
二進制排序樹只提供了一個數(shù)據(jù)結構。如果不加以應用,它的存在就毫無意義。
所以您想要什么取決于您的具體需求。如果在實際應用程序中允許相同的值,則可以左右插入。你只需要確保你的樹在中間順序遍歷時是非嚴格單調遞增的如果你在實際應用中需要一個唯一的值,你的實現(xiàn)應該以某種形式告訴用戶,比如返回一個特殊的值或者拋出一個異常
二叉排序樹只要求每個節(jié)點都小于它,右子節(jié)點大于或等于它。首先,我們來看一下刪除操作:“先把刪除的節(jié)點和最后一個節(jié)點交換,然后刪除它,在這個過程中把最后一個節(jié)點分割,重建二叉樹,如果刪除根節(jié)點左邊的一個節(jié)點,那么在和最后一個節(jié)點交換之后,為了保持二叉排序樹的特性,最后一個節(jié)點會逐漸向上移動,這很可能會改變根節(jié)點的位置。然后讓我們看看插入操作:“直接與根節(jié)點比較。如果小于根節(jié)點,插入左子樹,遞歸一次,選擇合適的節(jié)點,如果大于根節(jié)點,依此類推。所以平衡二叉樹可能不同。我建議你畫一幅圖,試著操作一下,加深對這兩種操作的理解!