多项式时间
多項式時間是指一個問題的計算時間不大于問題規模的多項式倍數,多項式時間代表的是一類時間復雜度的統稱。這里的計算時間不是具體的時間,而是指解決問題時使用的算法的時間復雜度。
時間復雜度表示的是在解決一個問題時,隨著問題規模的擴大,解決問題所需要的時間的增長情況。在計算機科學中,用時間復雜度來衡量算法的效率。如果不管數據規模有多大,程序處理花的時間始終是固定的,那么就說這個程序具有O(1)的時間復雜度,也稱常數復雜度。如果數據規模變得有多大,程序處理花的時間也跟著變得有多長,那么這個程序的時間復雜度就是O(),也稱線性復雜度。數據規模與花費的時間成對數關系,那么這個程序的時間復雜度就是O(),也稱對數復雜度。常見的還有O()、O()、O()、O()(a為常數)、O()。
上述的這些復雜度明顯的可以分為兩類,一類是O(1)、O()、O()、O()(a為常數)等,是多項式級的復雜度,另一類是O()(a為常數)、O()等,是非多項式級的復雜度。后者的復雜度遠遠大于前者。在解決問題時,選擇的算法通常是多項式級的復雜度,非多項式級的復雜度需要的時間太多,除非是數據規模非常小。
常見多項式時間復雜度的關系為:
O(1)<O()<O()<O()<O()<O()
常見非多項式時間復雜度關系為:
O()<O()<O()
總結
 
                            
                        - 上一篇: CF 375C Circling Rou
- 下一篇: 全球历史气候数据分享
