演算法分析與設計1 緒論

2021-10-05 23:39:39 字數 552 閱讀 7354

演算法理論的兩大論題:

演算法設計—對於乙個問題如何設計乙個有效的演算法

演算法分析—如何評價或判斷乙個演算法的優劣

演算法的五大特性:

輸入:乙個演算法有零個或多個輸入。

輸出:乙個演算法有乙個或多個輸出。

有窮性:乙個演算法必須總是在執行有窮步之後結束,且每一步都在有窮時間內完成。

確定性:演算法中的每一條指令必須有確切的含義,對於相同的輸入只能得到相同的輸出。

可行性:演算法描述的操作可以通過已經實現的基本操作執行有限次來實現。

問題的求解過程:

演算法的描述方法

自然語言

流程圖程式語言

偽**——演算法語言

演算法分析

演算法分析(algorithm analysis):對演算法所需要的兩種計算機資源——時間和空間進行估算

時間複雜性(time complexity)

空間複雜性(space complexity)

演算法分析的目的:

設計演算法——設計出複雜性盡可能低的演算法

選擇演算法——在多種演算法中選擇其中複雜性最低者

演算法設計與分析 1

實驗題目 生成兩個隨機的圖,乙個有向圖乙個無向圖。有向圖兩千條邊左右,無向圖一千條邊左右,邊的數量是大概的。100個頂點。要求能算出每個頂點的度。要求每次圖是隨機生成的,並且有良好的結構。今後的實驗都基於這個圖結構。任意語言和環境。建議鍊錶描述。然後基於這個圖實現乙個廣度優先搜尋。參考文獻 c 中的...

演算法1 緒論

演算法理論的兩大論題 演算法設計 對於乙個問題如何設計乙個有效的演算法 演算法分析 如何評價或判斷乙個演算法的優劣 問題的求解過程 分析問題 設計演算法 編寫程式 整理結果 演算法 algorithm 對特定問題求解步驟的一種描述,是指令的有限序列。演算法的五大特性 輸入 乙個演算法有零個或多個輸入...

演算法設計與分析作業(1)

1.dijkstra求單源最短路徑 先進行存圖操作,將帶權有向圖用鄰接矩陣來表示 for int i 0 i u v dist map u v dist 用dis陣列來儲存0點到其他每乙個點的最短距離,初始時dis i map 0 i 接下來進行鬆弛操作,找出最短距離 首先0點為q集合中的點,0 1...