學計算機的或許對o(logn)這個符號並不陌生,快排、堆排、歸併等等排序的平均時間複雜度。
問題來了,之前一直有個歧義就是:logn的底數到底是多少? 這個問題擱置著並沒有去深究,僅僅是想應該是2吧。應該僅僅是省略了一部分?
今天打算徹底查閱下資料弄懂這個問題。那麼先讓我們回到數學上來一下:
1、如果對數有底的情況下,對於同樣資料規模n情況下:
如今有兩個演算法的時間複雜度分別為 logx(n)和logy(n)
2、對x和y的比求極限:
lim(x-->∞) logx(n) / logy(n)
3、利用洛必達法則得到:
lim(x-->∞) ln(y)/ln(x) = 某常數
4、儘管二者的底數不同,可是n趨於無窮大時它們的比例為常數。說明大小與底數無關。
結論:以上證明在數學上未必足夠嚴謹(比如可導性、logn的表示法),可是在計算機的複雜度表示的是一種增長趨勢為對數增長。
這樣不管底數為多少對於n規模來說都是一樣的(當n足夠大)。
正確理解 clear both
要注意以下幾點 1 浮動元素會被自動設定成塊級元素,相當於給元素設定了display block 塊級元素能設定寬和高,而行內元素則不可以 2 浮動元素後邊的非浮動元素顯示問題。3 多個浮動方向一致的元素使用流式排列,此時要注意浮動元素的高度。4 子元素全為浮動元素的元素高度自適應問題。以下詳細分析...
正確理解 clear both
原文 要注意以下幾點 1 浮動元素會被自動設定成塊級元素,相當於給元素設定了display block 塊級元素能設定寬和高,而行內元素則不可以 2 浮動元素後邊的非浮動元素顯示問題。3 多個浮動方向一致的元素使用流式排列,此時要注意浮動元素的高度。4 子元素全為浮動元素的元素高度自適應問題。以下詳...
正確理解 clear both
要注意以下幾點 1 浮動元素會被自動設定成塊級元素,相當於給元素設定了display block 塊級元素能設定寬和高,而行內元素則不可以 2 浮動元素後邊的非浮動元素顯示問題。3 多個浮動方向一致的元素使用流式排列,此時要注意浮動元素的高度。4 子元素全為浮動元素的元素高度自適應問題。以下詳細分析...