問題
算法復雜度描述中為什么用“logn”,而不用“log2n”、“lnn”或“lgn”
原因
假如有logaB(a為底數),由換底公式可得:
logcA(c為底數)為常數,
由O的運算規則"O( C × f(N) )=O( f(N ) ),
其中C是一個正的常數"
得O(logaB)=O(logcB)
可知算法的時間復雜度與不同底數只有常數的關系,均可以省略自然可以用logN代替。
算法復雜度描述中為什么用“logn”,而不用“log2n”、“lnn”或“lgn”
假如有logaB(a為底數),由換底公式可得:
logcA(c為底數)為常數,
由O的運算規則"O( C × f(N) )=O( f(N ) ),
其中C是一個正的常數"
得O(logaB)=O(logcB)
可知算法的時間復雜度與不同底數只有常數的關系,均可以省略自然可以用logN代替。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。