本章內容:
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...