2014-10-01 57 views
0

我想了解分段樹。這是一個great tutorial,顯示如何找到範圍內的最小值。然而,有人說,「除了最後一層,所構建的分段樹的所有級別都將被完全填充,並且樹將成爲完全二叉樹,因爲我們總是在每個級別將分段分成兩半。」我不明白如何進行添加?例如,如果我們再添加兩個元素6和10 - 他們應該去哪裏?進入正確的子樹?如果是的話,會有5個不太平衡,兩個不平等。我是否應該重新排序樹並再次進行計算?段樹範圍最小查詢

回答

0

段樹的這種實現不支持添加操作,所以不可能添加新元素。

+0

你能舉一個例子什麼實現支持添加操作嗎? – Bob 2014-10-01 18:36:20

+0

可以使用平衡二叉搜索樹來存儲分段樹的節點,以便添加新元素。 – kraskevich 2014-10-01 18:40:23

+0

但是當你平衡你將不得不重新計算距離,這是不是很有效。 – Bob 2014-10-01 18:44:22