第一章 演算法分析的數學基礎

2022-07-24 06:45:12 字數 1018 閱讀 9233

本章內容:

1、複雜性函式的階

2、和的估計與界限

3、遞迴方程

複雜性函式的階,n是輸入的規模

t(n)=o(f(n)), f(n)是漸近意義上的上界。

t(n)=ω(f(n)),f(n)是漸近意義上的下界。

t(n)=θ(f(n)),f(n)是漸近意義上的上界和下界。、

merge-sort排序演算法的複雜性方程:

一層一層寫下去直到ko(n)+2^kt(1),事後補圖

另外還有乙個master定理,專業論述最後提一下,先說一下簡易的判斷方法:

形如:t(n)=a t(n/b)+f(n) 要求a>=1,b>1是常數,f(n)是正函式

若nlogb a與f(n)的階比較,誰大就是誰。若相等則等於f(n)logn

標準定義如下:

圖示如下:

來三個例題:

第一題:

a=7  b=7 nlogb a=nlog7 7=n =f(n)所以時間複雜度為o(nlogn)

第二題a=8 b=6 f(n)=n^1.5 logn    n^1.5 logn  >nlog 6 8所以 o(n^1.5 logn)

第三題t(n)=2t(n^1/3)+1

t(2^m)=2t(2^(m/3))+1

設s(m)=t(2^m)

所以 s(m/3)=t(2^(m/3))

所以 s(m)=2s(m/3)+1

mlog3 2>1所以

θ(mlog3 2)=θ(log2 n log 3 2)

第一章 演算法基礎 演算法效能分析

1.2 演算法效能分析 演算法複雜度是演算法效能最基本的評價標準,由時間複雜度和空間複雜度組成,屬於計算複雜性理論中的內容。複雜度是乙個演算法的時間執行函式,常用大寫 o 表示。1 時間複雜度 描述演算法的執行時間。2 空間複雜度 是指乙個演算法在執行過程中臨時占有的儲存空間大小,是演算法需要的額外...

演算法基礎第一章

不同常數時間的操作 加或定址運算或位運算 執行時間不一樣 選擇最小的數,放到陣列的第乙個位置 時間複雜度 c n c n 1 c n 2 c 1 o n 2 額外空間複雜度 o 1 兩兩比較並交換,直到無交換 時間複雜度 o n 2 額外空間複雜度 o 1 左邊序列有序,右邊新加入乙個數,從右往左找...

第一章 基礎演算法(一)

題目 給定乙個按照公升序排列的長度為n的整數陣列,以及 q 個查詢。對於每個查詢,返回乙個元素k的起始位置和終止位置 位置從0開始計數 如果陣列中不存在該元素,則返回 1 1 輸入格式 第一行包含整數n和q,表示陣列長度和詢問個數。第二行包含n個整數 均在1 10000範圍內 表示完整陣列。接下來q...