我剛開始了一個關於漸近分析的課程,在我的任務之一中,我應該在不改變複雜性的情況下爲功能添加功能。複雜度是log(N)。作業指南特意要求我用「常量」來改變運行時間。會讓它變成3Log(N)常數?是O(LogN)== O(3LogN)?
回答
是的,更具體地說,這將改變乘法常數。你也可以用一個像log(N)+5
這樣的加法常數來改變它。
是的,這個東西正在改變算法的多倍,像'3'這樣的事情是非常不可能的,除非你做了像3次嵌套循環那樣的事情,這再次可能不是最佳的解決方案。 – noMAD 2012-04-27 05:10:37
原始功能涉及向二叉搜索樹添加元素。爲了完成我的任務,我不得不修改代碼,以便遍歷樹不是一次,而是兩次。那是2LogN? – devjeetroy 2012-04-27 05:18:40
@noMAD需要在數據結構上傳遞一個常數,或者在迭代中添加一個固定數量的操作並不罕見。 – trutheality 2012-04-27 05:20:53
- 1. 時間複雜度:O(logN)或O(N)?
- 2. 比較O((logn)!)和O(2^n)
- 3. 這段代碼是O(n)還是O(logn)?
- 4. BIg O符號:n * logn
- 5. 爲什麼TreeSet迭代O(n)而不是O(n * logn)?
- 6. 通過O(logn)訪問和O(logn)插入實現數據結構?
- 7. 在O(logn)O(logn)刪除和索引訪問的數據結構
- 8. 這個解決方案的時間複雜度是O(N)還是O(LogN)?
- 9. 哪一個更好? O(n^1/2)或O(logn)
- 10. dificulty解決O(logn)中的代碼
- 11. 查找第n個fib數,在O(logn)
- 12. 爲什麼deleteMin的堆取O(logn)?
- 13. O(logn)中從0〜N的位計數
- 14. O(logn)^ 2時間表現的示例
- 15. 分鐘堆比O(logn)增加鍵好?
- 16. O(logn)時間和算法關係
- 17. 查找RBTREE在O(LOGN)的算法
- 18. 爲O蟒蛇heapq刪除(LOGN)
- 19. 證明是n +(logn)時間^ 2是O(n)
- 20. 查找O(nlogn)和O(logn)附加空間中的最小正數
- 21. 是O(n^2)還是O(1)?
- 22. O(nlogn)+ O(n),O(nlogn)和O(nlogn + n)之間的關係是什麼?
- 23. 大O符號 - 爲什麼是O(n^2/4)= O(N^2)
- 24. O(n^2)中是O(mn)嗎?
- 25. clojure subvec O(n)而不是O(1)?
- 26. 是string.ElementAt()O(1)?
- 27. Big O - O(N^2)or O(N^2 + 1)?
- 28. 添加,刪除的O型插接件(LOGN)
- 29. 運行時間爲O(logn)的二進制數除算法
- 30. 在O(logn)時間使用STL堆執行減少鍵
您忘記了'O(log N)'的確切定義嗎?回到定義來理解答案是微不足道的*是* – 2012-04-27 05:07:47
你能說明你是如何得到'3log(n)'的? – noMAD 2012-04-27 05:08:01
我相信增加一些東西,如(常數+ log(N))將被視爲增加一個常數因子,而3LogN將會相乘。雖然我根據定義知道O(3LogN)= o(LogN),但我覺得我的導師意味着添加形式。事情是,我不想在我的任務中抓住任何機會,所以我想與更有知識的人一起澄清。 – devjeetroy 2012-04-27 05:16:49