3K+ 次瀏覽
布隆過濾器被定義為一種資料結構,旨在以快速且記憶體高效的方式識別元素是否存在於集合中。布隆過濾器實現為一種名為機率資料結構的特定資料結構。這種資料結構幫助我們識別元素是否存在於集合中。位向量被實現為基本資料結構。這是一個我們將用來解釋的小例子123456789101112131415表中的每個空單元格指定一個位,下面的數字是其索引或位置。要將元素新增到布隆過濾器中,我們只需對... 閱讀更多
247 次瀏覽
多重選擇雜湊之所以得名,是因為它採用了多個雜湊函式的實現。在高級別上,當有多個雜湊函式時,每個專案都會對映到多個桶,因此演算法設計者可以自由選擇專案將駐留在其中的桶。事實證明,這種自由允許演算法獲得比實現單個雜湊函式所獲得的更平衡的分配。我們將介紹主要演算法思想和用於證明這些演算法產生的分配界限的主要數學工具。我們將看到,分析是... 閱讀更多
674 次瀏覽
定義動態完美雜湊被定義為一種解決散列表資料結構中衝突的程式設計方法。應用雖然比其散列表對應物更佔用記憶體,但此方法非常適合必須對大量元素執行快速查詢、插入和刪除的情況。實現Dietzfelbinger 等人解釋了一種動態字典演算法,當將一組 m 個專案增量地附加到字典時,成員資格查詢始終消耗常數時間,因此最壞情況時間為 O(1),所需的總儲存空間為 O(m)(線性),並且預期攤銷插入和刪除時間為 O(1)(攤銷常數時間)。在動態情況下,當... 閱讀更多
2K+ 次瀏覽
完美雜湊的定義完美雜湊被定義為一種雜湊模型,其中任何一組 n 個元素都可以儲存在大小相等且可以以常數時間執行查詢的散列表中。它是由 Fredman、Komlos 和 Szemeredi (1984) 特別發明和討論的,因此被稱為“FKS 雜湊”。靜態雜湊的定義靜態雜湊定義了雜湊問題的另一種形式,它允許使用者對最終的字典集執行查詢(這意味著字典中的所有物件都是最終的,並且不會更改)。應用由於靜態雜湊需要資料庫、其物件以及... 閱讀更多
109 次瀏覽
可合併 DEPQ (MDEPQ) 被定義為 DEPQ(雙端優先佇列),除了上面列出的 DEPQ 操作外,還包括操作 meld(p, q) ... 將 DEPQ p 和 q 合併為單個 DEPQ。合併雙端優先佇列 p 和 q 的結果是包含 p 和 q 所有元素的單個雙端優先佇列。合併操作具有破壞性,因為在合併之後,p 和 q 不再作為獨立的 DEPQ 存在。要以小於線性時間合併兩個 DEPQ,必須使用顯式實現來表示 DEPQ ... 閱讀更多
322 次瀏覽
總對應和葉子對應是更復雜的對應技術。在這兩種技術中,一半的元素位於 min PQ 中,另一半位於 max PQ 中。當元素數量為奇數時,一個元素儲存在緩衝區中。此緩衝元素不是任一 PQ 的成員。在總對應技術中,min PQ 中的每個元素 x 都與 max PQ 中的唯一元素 y 配對。(x, y) 是一對對應元素,使得優先順序(x)
226 次瀏覽
存在從單端優先佇列 (PQ) 資料結構得出高效 DEPQ(雙端優先佇列)資料結構的一般方法,這些方法還提供了 remove(bNode) 操作的高效實現(此操作從 PQ 中消除節點 bNode)。最簡單的方法,即雙結構方法,同時維護所有 DEPQ 元素的 min PQ 和 max PQ,這些元素與 min PQ 和 max PQ 節點之間的對應指標相關聯,這些指標包含相同的元素。圖 D 顯示了元素 7、8、3、6、5 的雙堆結構。對應指標顯示... 閱讀更多
112 次瀏覽
雙堆存在從單端優先佇列 (PQ) 資料結構得出高效 DEPQ(雙端優先佇列)資料結構的一般方法,這些方法還提供了 remove(aNode) 操作的高效實現(此操作從 PQ 中消除節點 aNode)。最簡單的方法,即雙結構方法,跟蹤所有 DEPQ 元素的 min PQ 和 max PQ,這些元素與 min PQ 和 max PQ 節點之間的對應指標相關聯,這些指標包含相同的元素。圖 A 顯示了元素 7、8、3、6、5 的雙堆結構。對應... 閱讀更多
169 次瀏覽
現在我們將解釋從 deap 資料結構中刪除最小元素的技術。在刪除過程中,我們的主要目標是從 deaps 中刪除最小值。由於樹的高度始終為 log n,因此它消耗時間順序為 log n。我們可以將刪除操作討論如下:過程 deap_deletion(b[],m):如果(m
457 次瀏覽
要將元素插入 deap 資料結構,我們可能需要如下所示的計算最小值和最大值的程式:過程 min_value(m)://計算 deap 中的最小值。返回 m-2log2((m-1);過程 max_value(m)://計算 deap 中的最大值。返回 m+2log2(m-1);deap 資料結構中的插入操作可以透過以下方式完成:對於任何堆 b[],我們應該檢查 m 是否是 deap 最大堆內的位置。然後,我們將計算 deap 中的最小值和最大值。現在,比較左子樹和右子樹的鍵值。最後,我們執行... 閱讀更多