![](/img/trans.png)
[英]Clear mark attribute of a node in extract-min operation of Fibonacci Heap
在 Fibonacci Heap 的DECREASE-KEY操作中,每當一個節點從其父節點中切出並添加到根列表中時,其標記屬性將設置為FALSE 。 但是,在EXTRACT-MIN操作中,min-node 的子節點被添加到根列表中,但它們的標記屬性未設置為FALSE 。 為什么會有這樣的矛盾? 此外 ...
[英]Clear mark attribute of a node in extract-min operation of Fibonacci Heap
在 Fibonacci Heap 的DECREASE-KEY操作中,每當一個節點從其父節點中切出並添加到根列表中時,其標記屬性將設置為FALSE 。 但是,在EXTRACT-MIN操作中,min-node 的子節點被添加到根列表中,但它們的標記屬性未設置為FALSE 。 為什么會有這樣的矛盾? 此外 ...
[英]Is Dijkstra faster when using Fibonacci Heap?
使用斐波那契堆比使用二進制堆時 Dijkstra 更快嗎? 我做了一些自己實現斐波那契堆的實驗並在 Dijkstra 中使用它,我還檢查了 fibheap 庫中現成的斐波那契堆,但是沒有一個實現在使用二進制堆。 是否有可能我在某個點上犯了錯誤,或者斐波那契堆實際上可能比在 Dijsktra 中的 ...
[英]Amortized Analysis of Fibonacci Heap with Potential Method
我正在嘗試使用潛在方法對斐波那契堆進行攤銷分析。 我正在努力理解 pop min / delete min 操作的分析。 在教程中,我可以找到限制“pop min”操作的攤銷復雜度,例如這個,教程作者將潛力設置為“phi(fib heap) = 根節點數 + 2 * 失敗者節點數”。 然后,他們分 ...
[英]Is there a Strict Fibonacci Heap implementation available?
我想實現一個嚴格的斐波那契堆,但結構非常復雜,最好有任何語言的示例實現。 但是我還沒有找到。 似乎 2012 年的論文“Strict Fibonacci Heaps”是詳細描述這種結構的唯一來源。 但是在“優先隊列的回歸基礎實證研究”中,他們測量了它的實際性能,因此他們不得不實現堆。 有沒有公開可 ...
[英]Why is B+-tree preferred over fibonacci heap in database-system implementation?
在實現更大規模的數據庫系統時,在斐波那契堆上優先選擇 B+ 樹是否有特殊原因? 從圖像中的復雜性分析來看,Fibonacci 堆似乎更快。 ...
[英]Finding last digit of sum from m to n Fibonacci numbers. (0 ≤ 𝑚 ≤ 𝑛 ≤ 10^14)
我的代碼如下: 以下案例使用此算法失敗: 10 10我的 output:4,正確 output:5 10 200我的 output:5,正確 output:2 1234 12345我的output:2,正確的output:8 (可能還有更多) 我想知道問題出在哪里以及如何解決? 有沒有更好 ...
[英]Fibonacci Heap Extract Min Implementation Not Working
我正在實施斐波那契堆以改進我的 Dijkstra 的最短路徑算法。 我的 insert 方法工作正常,接下來我需要做的是 extract-min。 我正在關注 CLRS。 請注意本書中提到的一些屬性還沒有在我的實現中,因為到目前為止這些功能都不需要它們,但我稍后會添加它們。 這是它提供的堆棧跟蹤: ...
[英]Min Fibonacci Heap - How to implement increase-key operation?
我一直在嘗試實現堆數據結構以用於我的研究工作。 作為其中的一部分,我正在嘗試為最小堆實現增加鍵操作。 我知道min-heap通常支持reduce-key。 我能夠為二進制最小堆編寫增加密鑰操作,其中,我以遞歸方式與最小的子交換交換增加的密鑰。 對於Fibonacci堆,在此參考資料中 ...
[英]boost::fibonacci_heap: Nested define of handle with comparator redefined circular definition errors
Boost文檔和先前的堆棧溢出都給出了如何定義自定義比較器函數的有效示例,並在boost堆的節點類型中包含了句柄。 但是,當我將這兩個功能(自定義的比較功能和節點類型中的句柄)組合在一起時,會收到錯誤消息,報告無效使用了'struct compare_Node'的不完整類型。 https ...
[英]Original design of DecreaseKey of Fibonacci heaps in Fredman and Tarjan's paper
我現在根據Fredman和Tarjan的原始論文來實現Fibonacci堆。 根據本文,如果我正確理解它,以執行節點x的DecreseKey操作,我們只需將其從其父節點上剪下來即可。 但是,如果減小后的密鑰仍大於其父密鑰,則效率會很低(我認為)。 另外,我看到許多設計僅在節點的密鑰變得小於 ...
[英]Prim's algorithm with Fibonacci heap: why O(E + V*log(V))?
我知道Prim的算法以及如何實現它。 我也知道為什么其時間復雜度為O(E + V log(V))。 我們將邊E次相加(即O(E)),並選擇最小V次(即O(V * log(V))。但是我不明白其中的一部分:為什么要V次?一棵樹有V-1條邊,但是如果最重的邊必須在MST中,我們必須選擇最小的 ...
[英]How to call a class recursively in c++?
您好,這是代碼: 我想在“ Entry”類中遞歸調用Entry,因此可以使用: 我知道這在Java中有效,但是當我在c ++中進行編譯時,我得到: 有人知道如何解決此問題或解決此問題嗎? ...
[英]Applications for fibonacci series in software paradigm
當我被問及描述斐波那契數列的應用時,我正在接受采訪。 我知道斐波那契數列用於某種基准測試,但我無法提出真正的軟件/計算機應用程序。 我試着研究它。 我發現它們用於稱為斐波那契堆的東西,但我找不到任何明顯的計算機科學應用程序。 請提出您寶貴的建議。 ...
[英]How do I keep track of nodes in a tree using hash table?
我正在嘗試實現斐波那契堆,並且需要跟蹤其節點以進行后續操作。 對於初學者來說,斐波那契堆可以被認為是一棵 m 度樹或樹的集合,其指針指向結構中的最大節點。 樹結構以一個詞及其頻率作為輸入,並要求給出最常出現的詞作為輸出。 例如,輸入: 我對哈希表的理解非常初級。 我輸入這個詞作為鍵,它給出一個散 ...
[英]Is FibonacciHeap a min-heap? how to find max using FibonacciHeap?
我的Java項目是使用Max Fibonacci堆來查找排名第n的最受歡迎的主題標簽。 記錄可以像這樣: 但是斐波那契堆只有find min函數。 “斐波那契堆”,“最小斐波那契堆”和“最大斐波那契堆”有什么區別? 我的想法是使用n次函數extractmax()獲得前n個。 ...
[英]Why we do Amortized Analysis for Fibonacci Heap?
在斐波納契堆中,所有操作分析本質上都是攤銷的。 為什么不能像二項式堆一樣進行正常分析。 ...
[英]dequeuemin in Fibonacci heaps
我想問一下斐波那契堆。 如果我有這種情況: 然后,我們再添加兩個節點C和D: 現在我們刪除B: 現在我們添加E和F。 我看到它創建了這樣的樹: 但是我不明白為什么E和F與樹連接 。 從我的閱讀中,我們將具有相同等級的樹連接起來(例如,一個節點的樹與另一個 ...
[英]Using Existing Fibonacci Heap Java Implementation with Dijkstra's Shortest Path Java Implementation
我正在嘗試使用Java編程語言以正的邊成本在圖上實現最有效的最短路徑算法。 據我所知,那是Dijkstra的算法,以Fibonacci堆作為優先級隊列。 如鏈接中所述,我借用了Keith Schwarz的以下斐波那契堆實現。 http://keithschwarz.com/interest ...
[英]What are the worst-case time bounds for each operation on a Fibonacci heap?
斐波納契堆在攤銷意義上是有效的,但是在最壞的情況下,它們的效率如何? 具體來說,在n節點Fibonacci堆上進行這些操作時,最壞情況下的時間復雜度是多少? 找到分鍾 刪除分鍾 插入 減少鍵 合並 ...
[英]Why can I update a popped out element in a boost::fibonacci_heap?
我正在使用 boost::fibonacci_heap 庫實現快速行進算法,並且我開始使用它們的句柄操作元素。 我寫了下面的基本代碼,它編譯得很好,但我不明白它的行為: 我首先將每個推送元素的句柄存儲在一個數組中。 然后我從堆中彈出第一個元素,並檢查堆大小是否減小。 但隨后我嘗試使用其句柄更新 ...