演算法時間複雜度中O(logN)的底數是多少
經常在演算法書籍中看到logN的身影,那麼這個對數的底數是多少呢?
Weiss 在他的著作《資料結構與演算法分析》中曾指出:在電腦科學中,除非有特殊的說明,否則所有的對數都是以2為底的。
不過無論底數是什麼,log級別的漸進意義是一樣的。也就是說該演算法的時間複雜度的增長與處理資料多少的增長的關係是一樣的,證明如下:
我們先考慮O(logx(n))和O(logy(n)),x!=y,我們是在考慮n趨於無窮的情況。求當n趨於無窮大時logx(n)/logy(n)的極限可以發現,極限等於lny/lnx,也就是一個常數(以x為底y的對數),所以我們可以證明,底數對於O(logN)的描述沒有影響