2
讓我們看看下面的圖片 範圍樹構建
這就是所謂的範圍樹。我不明白一件事,它看起來類似於二叉搜索樹,所以如果我們插入元素,我們可以使用與在二叉搜索樹插入期間相同的過程。那麼區別是什麼呢?
我已閱讀教程,並猜測它是一個kd樹的查找,查詢搜索樹(如幾何點搜索等),但如何構造它?像二叉搜索樹一樣,還是需要額外的參數?也許這樣
struct range
{
int lowerbound;
int upperbound,
int element;
};
和插入過程中,我們必須檢查
if(element>lowerbound && element <upperbound)
then insert node
請幫我正確理解如何構建一個範圍樹。
但是在開始的時候我有空樹,我是否創建了新節點?我的意思是從開始位置 –
@AleksiBeriashvili在使用範圍樹解決的任務中,最初會給出一組用於構建樹的時間間隔。因此,您實際上從n個節點開始不是空樹。在初始構建之後,您只需更改節點的值,但不要添加/刪除節點。 –
所以據我瞭解,我只是從初始時間間隔(如二分查找樹)構造二叉樹,然後只是更新值?確定更新操作搜索某些特定值類似於二進制搜索方法的權利? –