演算法預備知識

2021-10-08 01:52:57 字數 803 閱讀 2213

1、演算法設計要求

正確性、可讀性、健壯性(當輸入資料不合法時,演算法也能做出相關處理,而不是產生異常或莫名其妙的結果)、時間效率高和儲存量低

2、演算法效率的度量方法

推導大o階方法:

①用常數1取代執行時間中的所有加法常數

②在修改後的執行次數函式中,只保留最高端項

③如果最高端項存在且不是1,則去除與這個項相乘的常數。

//例子1:常數階

int sum =

0,n=

100;

//執行一次

sum =(1

+n)*n/2;

//執行一次

printf

("%d"

,sum)

;//執行一次

//函式執行次數:f(n) = 1+1+1(這裡是+所以o(f(n))為o(1))

//例子2:線性階

int i;

for(i=

0;i)//迴圈時間複雜度為o(n)

//例子3:對數階

int count =1;

while

(count < n)

//迴圈時間複雜度:o(logn)

//例子4:平方階

int i,j;

for(i=

0;i//時間複雜度:o(n^2)

//若乙個程式執行次數為:

//f(n) = 1+n+n^2+n(n+1)/2 = 3*n^2/2 + 3*n/2 +1;①、②

//根據dao階的方法時間複雜度為o(n^2)

知識星球 預備知識

1.tenorflow 安裝 參考 tensorflow安裝教程 tensorflow 安裝教程 tensorflownews 2.tensrflow基礎 關注圖 會話 tensor 變數 feed和fetch。使用圖 graphs 來表示計算任務 在被稱之為會話 session 的上下文 cont...

Python預備知識

02 執行python程式 2.3.3 python 的 ide pycharm 03 配置pycharm 3.1.2 安裝和啟動步驟 3.1.3 設定專業版啟 標 3.1.4 解除安裝之前版本的 pycharm 3.2 匯入配置資訊 3.3 開啟乙個 python 專案 3.4 新建乙個專案 3....

C 預備知識

一 學前基礎 學習c 最好有一定的c語言基礎,當然也可以直接學習c 但是難度肯定不一樣。建議先粗略了解c語言的語法結構等基礎概念知識,在進行系統化的學習c 二 c和c 的區別 c 在c的基礎上新增了對物件導向程式設計和泛型程式設計的支援,所以c 是c語言的超集,是c語言的擴充版本,意味著任何有效的c...