1. 程式人生 > >算法時間復雜度和NP問題簡介

算法時間復雜度和NP問題簡介

com body 子集 求解 分析算法 http 上界 容易 關聯

這裏主要簡單說一下算法的時間復雜度和NP問題簡介,畢竟分析算法的時間復雜度上界有助於分析算法的好壞,分析算法好壞也有助於分析是否還有更好的算法;

一、時間復雜度:

技術分享圖片

一般關心的還有遞歸問題中的時間復雜度:(參考:http://blog.csdn.net/so_geili/article/details/53444816

例:

技術分享圖片

二、NP問題:

P類問題:可以在多項式時間內使用確定性算法求解的判定問題;

NP類問題:可以在多項式時間內使用非確定性算法求解的判定問題;

NPC問題(NP完全問題):NP中的某些問題的復雜性與整個類的復雜性相關聯.這些問題中任何一個如果存在多項式時間的算法,那麽所有NP問題都是多項式時間可解的;

註意:(1)這裏的多項式時間的時間針對的是問題的規模;

(2)我們將可以在多項式時間內求解的問題稱為“易”問題,將需要在指數時間內求解的問題稱為“難”問題;

(3)從定義很容易發現P屬於NP,但P是不是NP的真子集,這個問題目前是世界七大難題之一;

(4)判定問題的定義可以參見下面這個例子:

技術分享圖片

算法時間復雜度和NP問題簡介