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 遊戲 學生成績排序 從檔案中查詢包含給定字串...