偽多項式時間
此條目沒有列出任何參考或來源。 (2011年10月17日) |
在計算理論領域中,若一個數值算法的時間複雜度可以表示為輸入數值N的多項式,則稱其時間複雜度為偽多項式時間。這是由於,N的值是N的位數的冪,故該算法的時間複雜度實際上應視為輸入數值N的位數的冪。
一個具有偽多項式時間複雜度的NP完全問題稱之為弱NP完全問題,而在P!=NP的情況下,若一個NP完全問題被證明沒有偽多項式時間複雜度的解,則稱之為強NP完全問題。
例子
在質數測試中,使用較小的整數逐個對被測試數進行試除的算法被認為是一個偽多項式時間算法。對於給定的整數N,使用從最小的質數2開始,到 為止的整數依次對N進行試除,如果均無法整除N,則N是素數,這個過程需要進行至多約 次整數除法,即其時間複雜度為 ,為N的多項式。令D為N的二進制表示的位數,那麼N可以表示為以2為底D的冪,因此素性測試問題的時間複雜度用D表示應為 。因此,上述算法是一個偽多項式時間算法。