關於ACM演算法複雜度及演算法運算次算

2022-08-14 03:48:15 字數 778 閱讀 1951

演算法複雜度:

複雜度計算出來後有什麼用?

估計程式能否在規定時間內處理題目指定規模的資料

acm有時間限制1s

「規模」的舉例

1.給n個數排序  規模:n

2.判斷字串p是否是字串t的子串  規模:串的長度|p|和|t|

3.判斷乙個整數是否屬於整數集合s  規模:|s| 要判斷多少次(查詢次數)

4.圖中某兩個點的最短路徑/求連通圖的最小生成樹 規模:頂點數 邊數

5.給乙個整數集合s,問是否存在s的乙個非空子集t,滿足t中所有元素的和為零  規模:|s|

演算法運算次算:

當代計算機1s內可做10^7左右次計算,配置好的機器可到k*10^7~10^8

在這個限制下時間複雜度一定的演算法存在能處理的規模上限

複雜度數量級

最大規模

複雜度數量級

最大規模

o(logn)

>>10^20

很大o(n^3)

100500

o(n^1/2)

10^12

10^14

o(n^4)

5050

o(n)

10^6

10^7

o(2^n)

2020

o(nlogn)

10^5

10^6

o(n!)910

o(n^2)

1000

2500

排序演算法及演算法複雜度

演算法 演算法是指令的有限集合,順序執行這些指令,可以完成特定的任務。演算法具有以下特性 1 輸入 從外界獲取零個或多個量 2 輸出 產生至少乙個量 3 確定性 每條指令清晰 無二義性 4 有限性 演算法對所有情形都能在執行有限步之後結束 5 有效性 每條指令都是可執行的 選擇排序 工作原理 在未排...

演算法 演算法複雜度

演算法通俗的來說就是解決一些問題方法和步驟,那麼衡量演算法的標準有如下 1.時間複雜度 時間複雜度也就是通常所說的演算法執行所需要耗費的時間,時間越短,演算法越好,當然也有解釋是程式要執行的次數,而不是程式執行的時間,因為有些機器效能高,程式執行的速度快,二有些機器效能一般執行就慢,所以這裡就不能用...

演算法競賽時間複雜度及空間複雜度

眾所周知 在演算法競賽以及有關電腦科學的諸多學科中,時間複雜度和空間複雜度是評判乙個演算法 程式的重要標準。一般使用o 來表示。同一問題可用不同演算法解決,而乙個演算法的質量優劣將影響到演算法乃至程式的效率。演算法分析的目的在於選擇合適演算法和改進演算法。空間複雜度 space complexity...