演算法的要素與簡介
演算法是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。以下是由小編整理關於什麼是演算法的內容,希望大家喜歡!
演算法的特徵
一個演算法應該具有以下五個重要的特徵:
有窮性***Finiteness***
演算法的有窮性是指演算法必須能在執行有限個步驟之後終止;
確切性***Definiteness***
演算法的每一步驟必須有確切的定義;
輸入項***Input***
一個演算法有0個或多個輸入,以刻畫運算物件的初始情況,所謂0個輸入是指演算法本身定出了初始條件;
輸出項***Output***
一個演算法有一個或多個輸出,以反映對輸入資料加工後的結果。沒有輸出的演算法是毫無意義的;
可行性Effectiveness***
演算法中執行的任何計算步驟都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成***也稱之為有效性***。
演算法的要素
一、資料物件的運算和操作:計算機可以執行的基本操作是以指令的形式描述的。一個計算機系統能執行的所有指令的集合,成為該計算機系統的指令系統。一個計算機的基本運算和操作有如下四類:
1,算術運算:加減乘除等運算
2,邏輯運算:或、且、非等運算
3,關係運算:大於、小於、等於、不等於等運算
4,資料傳輸:輸入、輸出、賦值等運算
二、演算法的控制結構:一個演算法的功能結構不僅取決於所選用的操作,而且還與各操作之間的執行順序有關。
演算法的評定
同一問題可用不同演算法解決,而一個演算法的質量優劣將影響到演算法乃至程式的效率。演算法分析的目的在於選擇合適演算法和改進演算法。一個演算法的評價主要從時間複雜度和空間複雜度來考慮。
時間複雜度
演算法的時間複雜度是指執行演算法所需要的計算工作量。一般來說,計算機演算法是問題規模n 的函式f***n***,演算法的時間複雜度也因此記做。
T***n***=Ο***f***n******
因此,問題的規模n 越大,演算法執行的時間的增長率與f***n*** 的增長率正相關,稱作漸進時間複雜度***Asymptotic Time Complexity***。
空間複雜度
演算法的空間複雜度是指演算法需要消耗的記憶體空間。其計算和表示方法與時間複雜度類似,一般都用複雜度的漸近性來表示。同時間複雜度相比,空間複雜度的分析要簡單得多。
正確性
演算法的正確性是評價一個演算法優劣的最重要的標準。
可讀性
演算法的可讀性是指一個演算法可供人們閱讀的容易程度。
健壯性
健壯性是指一個演算法對不合理資料輸入的反應能力和處理能力,也稱為容錯性。
演算法的要素
- 演算法的要素與簡介
- 華碩電腦重啟後出現藍屏如何解決
- 居然的意思是什麼
- 社群端午節主題活動策劃書
- 當今世界上最大的淡水湖泊
- 如何種植石榴盆景_石榴盆景造型修剪方法
- 中堂實用的經典對聯大全
- 動火作業是什麼意思安全操作方法是什麼
- 程式設計師求職簡歷自我評價範文
- 關於英語故事醜小鴨閱讀
- 經典民間關於玉帝的歇後語大全
- 明禮知法的黑板報
- 訂婚祝福語句
- 關於簡易的英語故事欣賞
- 關於最短的英語故事欣賞
- 秦觀的詩作有哪些_秦觀代表作是什麼
- 最簡單的晚安心語帶圖片_簡單的晚安心情說說
- 酒店服務員暑假實踐報告範文
- 決然的意思是什麼
- 身強力壯的意思是什麼
- 康熙字典五行屬金的字
- 康熙字典五行屬木的字
- 康熙字典五行屬水的字
- 康熙字典五行屬火的字
- 康熙字典五行屬土的字