演算法概述及複雜理論

2022-08-24 13:15:14 字數 850 閱讀 8369

1、可計算問題/不可計算問題

計算機研究可計算問題

2、困難問題(時間度量)

3、p、np、npc

解決問題的乙個方法或過程,是乙個由若干個演算法指令組成的有窮序列。

演算法的特點

1、輸入和輸出

2、確定性

3、可行性

4、有窮性

演算法的描述

1、偽**

2、流程圖

3、自然語言的描述

對任意乙個輸入,演算法都能夠得到乙個正確的輸出。

軟體測試非常重要。

如果是例項乙個乙個的測試,因為問題的複雜度,例項可能很多很多。所以測試演算法正確性的方法很重要。

max=a[0],

for(int i=0;imax)

}

每次迴圈中max都是a[0]-a[i]中的最大值,這就是迴圈不變數,總是為真。

度量乙個演算法執行時間的三種方式:

最壞情形時任何規模的問題例項執行時間上的上界,沒有更壞了。

演算法效率的比較

插入排序與歸併排序的比較

插入排序演算法o(2n2) 歸併排序演算法o(50nlgn)

若同時對100萬個資料進行比較

則插入排序演算法需要時間比歸併排序演算法需要時間相差很多,即使是插入排序演算法的配置好很多的時候,仍然比不上。所以演算法很有必要研究!!

演算法的時間複雜度取決於主要項;

演算法的效率主要取決與演算法本身。

問題下界:任何一種演算法解決乙個問題所需要的必須的最小執行時間。

如排序問題的時間下界為nlogn,時間複雜度為nlogn都是排序演算法的最有演算法。

最優演算法指的不是某個例項的最優演算法,而是平均的概念

RSA演算法概述及分析

rsa演算法數學基礎 假設a想要通過乙個不可靠的 接收b的一條私人訊息。她可以用以下的方式來產生乙個公鑰和乙個私鑰 1.隨意選擇兩個大的質數p和q,p不等於q,計算n pq 2.根據尤拉函式,不大於n且與n互質的整數個數為 p 1 q 1 3.選擇乙個整數e與 p 1 q 1 互質,並且e小於 p ...

Spring01 概述及IOC理論推導

ioc理論推導 ioc本質 一句話概括 spring是乙個輕量級的控制反轉 ioc 和面向切面 aop 的容器 框架 先寫乙個userdao介面 public inte ce userdao 再去寫dao的實現類 public class userdaoimpl implements userdao...

演算法基礎例項概述及目錄

筆者開設本專題主要為了溫習一些常見演算法,主要受眾是一些考研的學生和工作演算法面試的程式設計師,希望本文章能對你有所幫助!將數字字串轉換成整數 求素數超長正整數加法 多項式相加 拓展字元 簡易計算器 計算e值 生成全排列數 漢諾塔 hanoi tower 遊戲 學生成績排序 從檔案中查詢包含給定字串...