如何在C中沒有線性搜索的情況下快速dictonary(String =>指針和Int =>指針)?我需要一些(或更多)代碼行,而不是庫,它必須可以在閉源軟件(LGPL,...)中使用。C中沒有線性搜索的快速dictonary
回答
您需要實現Hash Table,它使用散列碼存儲對象。查找時間是不變的。
甲Binary Tree可以遍歷和的log(n)時間查找的元素。
字符串的散列函數* *不是恆定時間。 – 2009-08-25 20:01:23
用於字符串搜索的二叉樹是* NOT * long(n)時間。 – 2009-08-25 20:02:29
Ternary Search Tree是出於這個使命。
如果你的字符串會很長,你不能認爲「哈希表」是恆定的時間!運行時間取決於字符串的長度!對於長字符串,這會導致問題。另外,你有碰撞問題,表太小或散列函數太差。
如果你想使用哈希,請看看karp-rabin。如果你想要一個算法依賴於你正在搜索的單詞的大小,請看看aho-corasick。
關於N(字符串的數量)是恆定的時間,但也可能隨其他因素(例如字符串長度)而變化。術語「恆定時間」意味着「關於輸入值的大小/數量」。在這種情況下,它是否「足夠高性能」是有爭議的。 – 2009-08-25 20:11:00
- 1. 快速選擇與線性搜索
- 2. 快速搜索
- 3. 快速查詢不搜索,搜索速度慢,但在SSMS中快速搜索
- 4. 在C++中快速搜索Point2f矢量
- 5. Magento快速搜索
- 6. Android快速搜索
- 7. 快速搜索中文
- 8. 有沒有辦法在Postgres中進行快速子串搜索
- 9. MySQL全文搜索:需要快速插入和快速搜索
- 10. 幫助C#代碼快速搜索
- 11. 快速模糊搜索在C++容器
- 12. Objective-c:快速模糊搜索匹配
- 13. NSMutableArray的快速搜索????/
- 14. IBAction的快速搜索欄
- 15. 與快速搜索搜索插件
- 16. C++線性搜索算法
- 17. 修復線性搜索C#
- 18. C線性搜索錯誤
- 19. 快速搜索在asp.net表中使用jQuery快速搜索插件
- 20. pheanstalk快速搜索工作
- 21. Magento快速搜索SKU
- 22. 快速搜索python列表?
- 23. 快速搜索PHP數組
- 24. Sql高效快速搜索
- 25. MS Dynamics CRM快速搜索
- 26. 創建快速搜索值
- 27. Mysql Vs NoSql快速搜索
- 28. 快速搜索JAXB對象
- 29. 快速字符串搜索?
- 30. 快速搜索和排序
或二叉樹,如果你不能使用散列。 – derobert 2009-08-25 19:14:44
幾乎葡萄牙語,如果變量名稱和評論是英語? ;) – Lucky 2009-08-25 19:20:34
它是*不*恆定時間。 – 2009-08-25 20:00:40