算法积累之算法时间复杂度
生活随笔
收集整理的這篇文章主要介紹了
算法积累之算法时间复杂度
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
算法時間復雜度是對算法效率的重要衡量標準。
人們說的事前分析估算算法效率,就是對算法時間復雜度的計算。我在看書過程中的一些小誤解。在此記錄。
?
舉例。
int sum = 0,n = 100;
sum = (1+n)*n/2;
printf("%d",sum);
這個算法程序總共走了三步
書上說明這是常數階,而我卻認為是平方階?
我說(1+n)*n/2 不就等于 n/2+n2/2么
根據求大O 的方法 這應該是n2才對。后來一琢磨才發現。這是不對的,因為規模n壓根就沒有影響程序運行步驟。
再看一下線性階來理解下
int i;
int j;
for(i = 0; i < n; i++){
j += j+i;
}
分析 for循環里面的時間復雜度為O(1);
加上for呢,就是O(n*1)
這里n增大一1 那么運行步驟就要多一步,所以從這里可以分析出,時間復雜度實際上是說規模n造成程序運行步驟的數學關系。
?
轉載于:https://www.cnblogs.com/bin-pureLife/p/4042053.html
總結
以上是生活随笔為你收集整理的算法积累之算法时间复杂度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PE头里的东西更多。。。越看越恶心了,我
- 下一篇: 【设计模式】—— 原型模式Prototy