日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

二.算法

發布時間:2024/9/30 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二.算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

算法:解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,并且每條指令表示一個或者多個操作

算法的五個特性:
1.輸入 2.輸出 3.有窮性 4.確定性 5.可行性

算法設計的要求:
1.正確性 2.可讀性 3.健壯性 4.時間效率高和存儲量低

算法效率的度量方法:
1.事后統計法 2.事前分析估算法

函數的漸進增長:給定兩個函數f(n)和g(n),如果存在一個整數N,使得對于所有的n > N,f(n)總是比g(n)大,那么,我們說f(n)的增長漸進快于g(n).

比如算法A需要2n + 1 次操作
隨著n的增長,可以忽略加法常數
與最高次項相乘的常數并不重要

判斷一個算法的效率時,函數中的常數和其他次要項常常可以忽略,而應該關注主項(最高階項)的階數

算法時間復雜度:
在進行算法分析時,語句總的執行次數T(n)是關于問題規模n的函數,進而分析T(n)隨n的變化情況并確定T(n)的數量級.

算法的時間復雜度,也就是算法的時間量度,記作:
T(n) = O(f(n))
表示問題規模n的增大,算法執行時間的增長率和f(n)的增長率相同,稱作算法的漸進時間復雜度,簡稱為時間復雜度.其中f(n)是問題規模n的某個函數
一般情況,隨著n的增長,T(n)增長最慢的算法稱為最優算法

用大寫O()來體現算法時間復雜度的記法,我們稱之為大O記法

推導大O階方法

推導大O階
1.用常數1取代運行時間中的所有加法常數
2.在修改后的運行次數函數中,只保留最高階項
3.如果最高階項存在且不是1,則去除與這個項相乘的常數
得到的結果就是大O階
常用的時間復雜度所耗費的時間從小到大依次是:

O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n3)<O(2n)<O(n!)<O(nn)

算法的空間復雜度通過計算算法所需要的存儲空間實現,算法空間復雜度的計算公式記作:
S(n) = O(f(n))
其中,n為問題的規模,f(n)為語句關于n所占存儲空間的函數.

總結

以上是生活随笔為你收集整理的二.算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。