interval-tree

    0熱度

    2回答

    對於分段樹的惰性傳播算法,我還有一些不清楚的地方。根據下面的代碼,在查詢間隔完全重疊時,更新值只會添加到父節點,並且孩子被標記爲延遲更新。但是,正如你在附圖中看到的那樣,如果更新完成了+4範圍0,1,那麼結果在兩棵樹中完全不同! (左圖:沒有惰性傳播)。 void update_tree(int node, int a, int b, int i, int j, int value) { if(

    2熱度

    1回答

    我正在CLRS第二版,第四版印刷,第288-9頁之後爲間隔樹實施紅黑樹刪除。 摘要錯誤的: RB-刪除 - Fixup時 如果x和w是前哨淋巴結,這是RB-刪除的可能的結果,那麼顏色(左的評價(w)的)和RB-Delete-Fixup中的顏色(右(w))在while循環的第一次迭代中遭受空指針異常。 (if (and (= (get-color (get-left @w)) black)

    2熱度

    1回答

    列表 讓說,我有這樣的 [[1,3], [2,5], [4,6], [8,10], [12,15], [13,17]] 範圍的列表現在我想找到一個範圍說[3,11]落在我的算法應該給我所有的範圍都在這個範圍內。例如,輸出這應該是 Output - [1,3], [2,5], [4,6], [8,10] 我如何去解決呢? PS:我知道細分樹可能有幫助。在哪裏我可以構建樹來存儲間隔並查詢位於間隔內的點

    1熱度

    1回答

    我有一個問題的區間樹來解決,我知道基本的算法,但我的代碼時,我的函數返回一個值,它是主要的問題。 我遇到的問題是找到特定索引之間的最大值,並更新數組中的某個值。所以有一個包含n個數字和m個操作的初始數組。如果操作從0開始,我應該在索引x之間的最大值處進行interogation。如果操作從1開始,我應該用y更新初始向量索引x上的值。 問題是,在一些interogations它在文件中檢索正確的答案

    0熱度

    1回答

    我有數以百萬計的文檔,其中包含以下字段: name(string),start version(int),end version(int)。 我需要查詢有效的所有記錄,回答了查詢: 選擇所有文件,其中version> =「啓動版」和版本< =「終結版」 運行上面的查詢了50 -100毫秒,而通過標記每個版本的類似查詢僅需要15毫秒。 我的問題是Solr處理這種查詢的效率如何? 歡迎任何備用解決方案

    4熱度

    3回答

    這與查找重疊間隔有關。我知道如何給定一個間隔列表(間隔樹)。我所擁有的是間隔列表。例如, [2,6], [7,11] [1,3], [5,10], [11,13] [2,5], [6,8] 這個結果應該是 [2,3],[7,8] 我需要做的是找到所有列表中常見的間隔列表。 我看到此問題與合併n列表類似。問題是我無法應用列表的成對合並。應用此方法會導致重疊間隔的丟失。所以我需要將所有列表合併

    3熱度

    1回答

    我有一組重疊區間,我必須從各自的區間中選擇一個元素,這樣當它們分組時,在選區中會有最小間隔。 通過分組我指的是連續的元素進行分組。如果有其他的時間間隔不連續元素的元素,然後這個被視爲組一個元素 通過儘量縮小差距我的意思是,我們必須減少這些羣體的數量,並嘗試形成較大的 我看到了間隔樹,認爲這可能有幫助,但不知道如何使用我的好處 請告訴我應該採取什麼方法來解決問題。 實例:通過選擇上述元素 2,3,4

    10熱度

    3回答

    給定大小爲n的數組對於從1到n的每個k,求大小k的連續子數組的最大總和。 此問題具有時間複雜度O(N )和O(1)空間的明顯解決方案。 Lua代碼: array = {7, 1, 3, 1, 4, 5, 1, 3, 6} n = #array function maxArray(k) ksum = 0 for i = 1, k do ksum = ksum +

    1熱度

    1回答

    所以,我應該解釋一下我想如何實現它。 我的想法非常簡單,我想創建每個塊並通過利用每個塊本地的浮點網格來確定每個頂點的位置,然後我想將體素放置在一個大的64位整數網格中(每個塊的位置推斷通過它的整數值,0,0,0將是中間值,20,20,20將在x,y和z軸上離開二十個塊)以創建一個更大的世界,我將執行一些檢查來確定塊將從它們在整數網格中的位置推斷出來,這是我還沒有弄清楚的。 (比得到它的運行不那麼重

    2熱度

    1回答

    我想知道是否有人已經實現/知道將處理循環間隔的(優選JavaScript)區間樹算法。通過循環,我的意思是開始>結束的時間間隔。請注意,這也需要限制間隔的大小。 這只是一個常見區間樹問題的子代? 在回答提出的問題的意見: 下面是一個圖片(感謝G.巴赫和維基百科)我的意思被圓形小範圍: 和(無關上面的圖片)這裏是一個範圍的例子JSON表示: [{ID: '範圍1',啓動:3,端:34},{ID: '