282 次瀏覽
計算合併操作的攤銷成本是一項艱鉅的任務。主要困難在於,在隨機操作序列的不同點執行的操作成本差異很大。儘管我們的設計目標受操作序列成本的影響,但根據操作序列的成本來定義操作的攤銷成本的概念並沒有意義。實現一個勢函式來抵消實際成本的變化是處理這種情況的完美方法。在下一個主題中,我們將討論攤銷... 閱讀更多
141 次瀏覽
配對堆可以是空堆,也可以是配對樹,包含一個根元素和一個可能為空的配對樹列表。堆排序屬性需要任何節點的父節點都不大於節點本身。以下描述考慮了一個純函式堆,不支援減少鍵操作。型別 PairingTree[Element] = Heap(element: Element, subheaps: List[PairingTree[Element]])型別 PairingHeap[Element] = Empty | PairingTree[Element]配對堆存在兩種型別——最小配對堆和最大配對堆。當我們希望表示最小優先順序佇列時,實現最小配對堆;當我們希望表示最大優先順序佇列時,實現最大配對堆... 閱讀更多
695 次瀏覽
配對堆被定義為一種堆資料結構,實現相對簡單,並且具有極佳的實際攤銷效能。配對堆是堆排序的多路樹結構,可以被認為是簡化的斐波那契堆。它們被認為是實現諸如 Prim 最小生成樹演算法等演算法的“可靠選擇”,並支援以下操作(假設為最小堆) - find-min - 此函式負責返回堆的頂部元素。meld - 此函式負責比較兩個根元素,較小的元素保持為結果的根,較大的元素及其子樹作為子節點新增到... 閱讀更多
594 次瀏覽
可合併優先順序佇列定義隨機可合併堆(也稱為可合併堆或隨機可合併優先順序佇列)被定義為一種優先順序佇列資料結構,其中底層結構也是一個堆排序二叉樹。但是,對底層二叉樹的形狀沒有嚴格的規定。優點這種方法與類似的資料結構相比,具有許多便利之處,即優點。它提供了一種比其他資料結構更簡單的方法。隨機可合併堆的所有操作都易於應用,並且其複雜度界限中的常數因子很小。也不需要維護平衡條件,也不需要衛星... 閱讀更多
487 次瀏覽
生成樹一個簡單的定義是,樹是一個與沒有迴圈相關的連通圖,其中迴圈使我們能夠在不重複邊的前提下從一個節點回到自身。連通圖 G 的生成樹被定義為包含 G 所有頂點的樹。生成樹通常用於實現網際網路路由演算法。在網際網路中,計算機(節點)通常透過許多冗餘物理連線連線。圖中生成樹的總數。如果一個圖是具有 n 個頂點的完全圖,則生成樹的總數為 n(n-2),其中 n 表示... 閱讀更多
2K+ 次瀏覽
在計算機科學中,m叉樹被定義為一組節點,通常以以下方式分層表示。樹從根節點開始。樹的每個節點都維護一個指向其子節點的指標列表。子節點的數量小於或等於 m。m叉樹的典型表示實現了一個包含 m 個引用的陣列(或指標)來儲存子節點(注意,m 是子節點數量的上限)。m路搜尋樹a. 為空b. 包含一個包含 b(1
根據計算複雜性理論,勢能法被定義為一種用於分析資料結構的攤銷時間和空間複雜度的方法,它衡量資料結構在操作序列上的效能,消除了不頻繁但代價高昂的操作的成本。在勢能法中,選擇一個函式 Φ,將資料結構的狀態轉換為非負數。如果 S 被視為資料結構的狀態,則 Φ(S) 表示在攤銷分析中已考慮但尚未執行的工作。因此,可以想象 Φ(S) 計算的是在攤銷分析中已考慮但尚未執行的工作量... 閱讀更多
676 次瀏覽
左孩子右兄弟表示法是 n叉樹的不同表示方法,其中,節點不維護指向每個子節點的指標,而只維護兩個指標,第一個指標指向其第一個子節點,另一個指標指向其緊鄰的下一個兄弟節點。這種新的轉換不僅消除了預先了解節點有多少個子節點的需要,而且還將指標的數量限制在最多兩個,因此使編碼變得非常簡單。在每個節點處,從左到右連線相同父節點的子節點。父節點應該連結到... 閱讀更多
490 次瀏覽
隨機可合併堆(也稱為可合併優先順序佇列)支援許多常見操作。這些被稱為插入、刪除和搜尋操作 findMin。插入和刪除操作是根據可合併堆特有的額外操作 Meld(A1, A2) 實現的。Meld合併(也稱為合併)操作的基本目標是獲取兩個堆(透過獲取每個堆的根節點),A1 和 A2,並將它們合併,返回一個單個堆節點作為結果。此堆節點是包含兩個子樹中所有元素的堆的根節點,這些子樹的根節點位於... 閱讀更多
720 次瀏覽
什麼是裝配公差疊加分析?簡而言之,裝配公差疊加分析被定義為當我們知道所有元件的公差值時,整個裝配或裝配的特定間隙的公差值。裝配公差鏈疊加分析可以透過不同的方式完成。最簡單的過程稱為最壞情況法,我們將在本文中討論。關於裝配公差疊加的最壞情況法的討論假設我們有一個由四張厚板組成的裝配體,如下所示 -四張板的厚度和公差顯示在上圖中。... 閱讀更多