演算法時間複雜度中O logN 的底數是多少

2021-08-08 03:21:32 字數 322 閱讀 2818

經常在演算法書籍中看到logn的身影,那麼這個對數的底數是多少呢?

weiss 在他的著作《資料結構與演算法分析》中曾指出:在電腦科學中,除非有特殊的說明,否則所有的對數都是以2為底的。

不過無論底數是什麼,log級別的漸進意義是一樣的。也就是說該演算法的時間複雜度的增長與處理資料多少的增長的關係是一樣的,證明如下:

我們先考慮o(logx(n))和o(logy(n)),x!=y,我們是在考慮n趨於無窮的情況。求當n趨於無窮大時logx(n)/logy(n)的極限可以發現,極限等於lny/lnx,也就是乙個常數(以x為底y的對數),所以我們可以證明,底數對於o(logn)的描述沒有影響

演算法複雜度中的O logN 底數是多少

最近有好幾學生問我,無論是計算機演算法概論 還是資料結構書中,關於演算法的時間複雜度很多都用包含o logn 這樣的描述,但是卻沒有明確說logn 的底數究竟是多少。演算法中log級別的時間複雜度都是由於使用了分治思想,這個底數直接由分治的複雜度決定。如果採用二分法,那麼就會以2為底數,三分法就會以...

演算法複雜度中的O logN 底數是什麼?

演算法中log級別的時間複雜度都是由於使用了分治思想,這個底數直接由分治的複雜度決定。如果採用二分法,那麼就會以2為底數,三分法就會以3為底數,其他亦然。不過無論底數是什麼,log級別的漸進意義是一樣的。也就是說該演算法的時間複雜度的增長與處理資料多少的增長的關係是一樣的。我們先考慮o logx n...

演算法複雜度中的O logN 底數是多少

問題 最近有好幾學生問我,無論是計算機演算法概論 還是資料結構書中,關於演算法的時間複雜度很多都用包含o logn 這樣的描述,但是卻沒有明確說logn的底數究竟是多少。解答 演算法中log級別的時間複雜度都是由於使用了分治思想,這個底數直接由分治的複雜度決定。如果採用二分法,那麼就會以2為底數,三...