堆棧中的每個插入是O(1),插入'n'個元素O(n)所需的時間也是如此? 我們可以說類似的哈希表嗎?在平均情況下,將'n'元素插入散列表中的時間= O(n)?使用鏈接列表在堆棧中插入n個元素的時間複雜度是多少?
0
A
回答
3
是的。主導因素不是插入時間,它是不變的,它是迭代你插入的所有東西所花費的時間。如果插入不是在一定時間內發生的話,那將會更加複雜。
請注意,在HashTable的情況下,很大程度上取決於HashTable是否必須自己增長或重新哈希它發生時的所有內容,但對於簡單情況(即假設表足夠大以容納所有內容,並且您的哈希碼代不會產生衝突)插入的上限應該是n。
0
堆棧中的每個插入是O(1),插入'n'個元素O(n)所需的時間是多少? 我們可以說類似的哈希表嗎?在平均情況下,花費在 之上的時間在散列表中插入'n'個元素= O(n)?
至於你提到堆棧,我假設我們使用棧(in chaining manner, using closed addressing)解決哈希表衝突。
在這種情況下,我回答:
是「平均情況所花費的時間來插入‘n’個在哈希表中的元素= O(N)」。
更具體一點。作爲插入到哈希表中的情況下是:
- 使得散列= O(1)
- 插入與散列選擇的堆棧= O(1)
所有散列插入是O(1 )。所以n操作是O(n)。
我的建議:對您的假設(您使用的結構,它們的實施和複雜性)進行非常具體的檢查,因爲所有這些細節都可能對所有方程的結果產生重大影響。
相關問題
- 1. 使用鏈接列表實現的堆棧ADT的時間複雜度
- 2. 鏈式散列表中的時間複雜度是多少
- 3. n元素陣列中未知元素的時間複雜度
- 4. T(n)=(T(n-1)+ n!)的時間複雜度是多少?
- 5. 將元素插入此結構的分期時間複雜度是多少?
- 6. 在O(n)的雙向鏈表中插入/刪除的時間複雜度是多少?
- 7. 從Python中列表彈出元素的時間複雜度是多少?
- 8. 將k個元素插入包含n個元素的二進制堆的時間複雜度
- 9. 插入堆的時間複雜度
- 10. 添加n個數字的時間複雜度是多少
- 11. 將地圖轉化爲鏈接列表的時間複雜度是多少
- 12. boost :: hana :: tuple元素訪問的時間複雜度是多少?
- 13. 以O(n)時間複雜度過濾出列表元素
- 14. 在已排序的鏈接列表中插入節點的時間複雜度
- 15. 優先級隊列O(n)的分類列表實現的插入時間複雜度是多少?
- 16. Collection.toArray()的時間複雜度是多少?
- 17. 在ArrayList的開頭添加一個元素的時間複雜度是多少?
- 18. unordered_set <int> :: iterator it + n的時間複雜度是多少?
- 19. heapify堆的時間複雜度是多少
- 20. 在第n個元素後面插入鏈接列表
- 21. 堆棧複雜度
- 22. 在PHP中獲取數組元素的時間複雜度是多少?
- 23. 在鏈接列表中插入元素
- 24. 堆棧/隊列中鏈接列表/雙向鏈表的複雜性?
- 25. 在mongodb中,搜索列表中元素的文檔的時間複雜度是多少?
- 26. XSLT中使用的XPath表達式中元素的索引訪問的時間複雜度是多少?
- 27. 在恆定時間複雜度中查找雙鏈表的中間元素
- 28. 這個算法的空間複雜度是多少(n或log(n))?
- 29. 單鏈表中的時間複雜度
- 30. 將堆棧元素移回到單個鏈接列表
夠大,散列值均勻分佈。 – 2011-06-15 18:54:55
@steve很正確的先生 – hvgotcodes 2011-06-15 18:57:04