最近拿起「Ring Queue」的概念,因爲我更熟悉Tortoise和Hare算法進行鏈表循環檢測,所以我想知道Ring Queue的工作原理是否與某些類型的連接有關上面的鏈接列表中的循環檢測算法,因爲它們都圍繞一個週期進行遍歷,然後兩個指針相遇。連接這兩個概念所需的幫助
4
A
回答
5
A circular-buffer是一個數據結構,而Floyd's algorthm是...算法,所以任何類比都有限制。
但我會嘗試:
+-------------------+-----------------------------------+---------------------------+
| | Circular buffer | Floyd's algorithm |
+-------------------+-----------------------------------+---------------------------+
| Tortoise | Start pointer | Slow pointer |
| Hare | End pointer | Fast pointer |
| Act I | Tortoise sleeps, hare walks | Tortoise walks, hare runs |
| Act II | Hold hands; walk together forever | No act II |
| Ends Romantically | Yes | Only if a cycle exists |
+-------------------+-----------------------------------+---------------------------+
- 第一幕:的循環緩衝龜開始的故事睡覺,不像弗洛伊德的算法,它也在發展(儘管速度緩慢)。
- 高潮:如果兔子遇到烏龜,週期就被「發現」了。這是保證發生在一個循環緩衝區,儘管烏龜一直在睡覺(緩衝區是圓形的,所以它的所有點都是週期的一部分)。這與Floyd算法不同,因爲鏈接列表可能沒有循環,因此會議可能不會發生。此外,週期(如果有的話)可能不包括起點,這就是爲什麼睡覺的烏龜不適合其情節。
- 第二幕/結局:當兔子在環形緩衝區遇到(睡覺)烏龜時,它將它喚醒,然後它們一起走到一起,一直往返循環。在弗洛伊德的算法中,兩人的會面是故事的結尾,儘管故事也可能以兔子到達終點(與其他人會面?)結束。
0
我想你只是在這裏看到模式。
循環緩衝區只是一個數據結構。 Tareo & Hare算法也適用於不僅僅是循環隊列的事情,甚至在「指針」是隱式的情況下(例如找到函數的固定點)。
0
我不確定這些是否直接相關。
在鏈表檢測算法中,我們試圖通過選擇一個強制兩個指針碰撞的方案來檢測鏈表中是否存在循環的可能性。
在循環緩衝區中,指針衝突意味着緩衝區已滿或爲空。
我的猜測是我們可以在這裏繪製的唯一連接是循環數據結構可以檢測到某些條件,只有兩個指針在本地移動,而不是更「全局」的算法。例如,在鏈表中查找循環也可以通過DFS完成。
相關問題
- 1. 需要關於ARC概念的幫助
- 2. 需要幫助就@property概念
- 3. lisp概念和術語幫助需要
- 4. 連接四個Java遊戲項目,需要關於基本概念的幫助
- 5. uml圖中所需的幫助 - 概念類圖和序列圖
- 6. Android概念幫助ListView
- 7. 概念幫助需要:表格和顯示所有行
- 8. 需要關於objective-c協議的幾個概念的幫助
- 9. 在Android中需要一個簡單的概念幫助
- 10. WIF證明概念的幫助
- 11. C++概念的幫助,指針
- 12. .NET中的概念幫助和API幫助之間的區別?
- 13. 幫助您在「真實」世界幫助您的IT概念
- 14. 幫助核心數據概念
- 15. 概念化幫助(訪問關係)
- 16. 需要幫助瞭解java的泛型概念
- 17. 用於web開發的Git概念性幫助需要
- 18. 需要您的幫助瞭解java編程概念
- 19. Tomcat連接池概念&c3p0連接池?
- 20. 需要幫助在Redis/NoSQL中進行概念化
- 21. 使用實體框架保存問題(需要概念幫助)
- 22. 需要幫助掌握有關叉)一些概念(
- 23. 需要幫助連接.JS
- 24. 需要幫助來找出這個概念叫什麼,所以我可以谷歌它
- 25. 301重定向幫助(簡單的概念,每個目錄控制)幫助
- 26. SQL查詢幫助(連接兩個表)
- 27. 這個概念叫什麼?
- 28. 需要幫助瞭解這個TSQL連接行爲
- 29. 需要幫助連接兩個查詢,並避免重複
- 30. 所需的幫助
+1對於愚蠢:) – dfb 2011-02-15 19:03:28