问题描述
算法复杂度描述中为什么用“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代替。