DS筆記 1 演算法的設計與度量

2021-04-01 23:25:58 字數 836 閱讀 9370

l演算法設計的要求

1.正確性(

correctness)2.

可讀性(

readablity)3.

健壯性(

robustness)4.

高時間效率與低儲存量需求

l演算法時間效率的度量

1.演算法時間效率度量的基本做法

在演算法中選取一種對於所研究問題來說是基本操作的原操作,以該基本操作重複執行的次數作為演算法的時間度量。一般而言,這個基本操作是最深層迴圈內的語句中的原操作

2.演算法語句頻度與時間複雜度的關係

一般演算法消耗的實際時間為演算法中每條語句頻度之和,是

n的函式

t(n)。當n

趨於無窮大時,

t(n)

的同階無窮小即是演算法的時間複雜度,記為

t(n)=o (f (n))

。例如:

for (i=1; i<=n; ++i)-------------------------- n+1

for (j=1;j<=n; ++j)--------------------- n×(n+1)

總時間消耗

t(n)= 2n3+3n2+2n+1

時間複雜度

t(n)=o(n3)

l演算法儲存空間的度量

1.演算法儲存空間度量的基本做法

用程式執行中需要的輔助空間的消耗作為儲存空間度量的依據,是問題規模

n的函式。而程式執行中本身需要的工作單元不能算

2.演算法空間複雜度

s(n)=o (f(n))

稱為演算法的空間複雜度

演算法分析與設計學習筆記1

下面哪一個不是演算法的特性?同一個數學模型使用不同的資料結構會有不同的演算法,有效性有很大差別 計算此偽 表示的演算法中加法的執行次數 答案 2t 1 1 解析 此類問題適合初學者進行練習,初學者接觸此類問題最好找從頭到尾梳理一遍,將題中所給資料帶入所給偽 中進行計算來梳理思路。運算過程 n最開始為...

演算法設計與分析課堂筆記(1)現代優化演算法

工程領域記憶體在大量的優化問題,這些優化問題難以求解的原因 搜尋空間的可能解數目太多以至於無法採用窮舉搜尋法尋找最優解 簡化模型得到的結果往往是沒有實際意義的 脫離眾多現實因素 階被嚴格限制,以至於找到一個可行解都很難,遑論最優解 很多時候採用自然界最樸素的策略來應對這些問題,反而能夠得到不錯的結果...

knn演算法的筆記1

機器學習實戰的knn def classify0 inx,dataset,labels,k datasetsize dataset.shape 0 diffmat tile inx,datasetsize,1 dataset sqdiffmat diffmat 2 sqdistances sqdif...

泛型演算法的設計 1

泛型演算法的設計 1 前言 泛型演算法獨立於操作的容器且與要操作的元素型別無關,達到了函式彈性設計的最大化,下面我們一步步的實現一個泛型演算法 1.有一天,老闆交給你一個任務,要你程式設計完成如下工作,給定一個儲存整數的vector,及一個整數,如果此值存在於vector內,我們必須返回一個指標指向...

演算法設計與分析基礎讀書筆記1

1.演算法 是一系列解決問題的明確指令,也就是說對於符合一定規範的輸入,能夠在有限的時間內獲得要求的輸出 2.演算法要點 1 演算法的每個步驟都必須沒有歧義,不能有半點含糊 2 必須認真確定演算法所處理的輸入的值域 3 同一演算法可以用幾種不同的形式來描述 4 同一問題,可能存在幾種不同的演算法 5...