演算法分析總結 一 演算法基本概念與NP完全理論

2021-10-12 12:43:27 字數 702 閱讀 8842

複雜度關係

np完全理論

一般認為,演算法是由若干條指令組成的有窮序列,具有下列五個特性:

注:如果不滿足有窮性,滿足前4條,則稱為計算過程,作業系統os就是計算過程。

指的是當問題的規模趨於極限情形時(相當大)的時間複雜度,由三種表示記號:o,ω,θ

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

當問題的規模足夠大的時候,有的問題的時間複雜度是多項式時間的,而有的是非多項式時間的。也就是說,對於規模很大的非多項式時間問題,要解決它的話需要很久的時間,時間呈現指數級增長。

np-complete和np-hard的理解:也就是說如果所有的np問題都能在多項式時間內規約到問題x,這個x的複雜度大於原np問題(即x問題更「難」),那麼這個x問題就是乙個np-hard問題;如果x問題也是np的,那麼稱x是np-complete問題,也就是np完全問題,否則x只能是np-hard問題。

證明乙個判定問題b是np-complete問題:

如果np問題不等於p問題,那麼四類問題的關係圖為:

np完全問題例項:團集問題、頂點覆蓋問題,tsp問題,哈密頓迴路問題,子集和問題,這些問題的判定問題都是npc的。

演算法分析基本概念

乙個演算法的要求有四個 有輸入 有輸出 有限性 確定性。有乙個很著名的公式是程式 資料結構 演算法。由該式子能看出演算法和程式的關係,演算法是一段有限序列能夠解決乙個問題,是解決問題的方法。程式是乙個實在的東西,能夠解決乙個問題。演算法和程式相比,演算法強調的是方法,所以演算法不拘泥於各種程式語言,...

演算法的基本概念 演算法分析

一 演算法 algorithms 是為了求解問題而給出的有限的指令序列,每條指令表示乙個或多個操作。解決問題的步驟 程式 是演算法的一種實現,計算機按照程式逐步執行演算法,實現對問題的求解。1.演算法的性質 有窮性 乙個演算法必須能在執行有窮步之後結束,且每一步都可在有窮時間內完成 確定性 演算法中...

資料結構基本概念,演算法與演算法分析

一.演算法 1.概念 演算法是對特定問題求解步驟的一種描述。是指令的有限序列,其中每條指令表示乙個或多個操作 2.性質 3.目標 正確性,可讀性,健壯性,高效率 4.演算法的描述 自然語言,程式語言,偽 5.演算法分析 1 時間複雜度t n 執行演算法所需要的計算工作量,用演算法所執行的基本運算次數...