1、算法是解決問題的清晰指令和策略機制。
2、算法描述可以有多種表達方法,一般用自然語言、結構化流程圖和偽代碼描述。
3、偽代碼是介于自然語言和計算機程序語言之間的一種算法描述。它也是專業(yè)軟件開發(fā)人員描述算法的一種常用方法。
4、算法是程序設計的“靈魂”,世界著名計算機科學家尼克勞斯·沃斯(N·Wirth)指出:算法 + 數(shù)據(jù)結構=程序。
5、程序設計語言的發(fā)展經(jīng)歷了機器語言、匯編語言到高級語言的過程。其中計算機可以直接識別的是機器語言,它是由“0”和“1”構成的代碼。
擴展資料
算法的評定標準:
同一問題可用不同算法解決,而一個算法的質量優(yōu)劣將影響到算法乃至程序的效率。算法分析的目的在于選擇合適算法和改進算法。一個算法的評價主要從時間復雜度和空間復雜度來考慮。
1、時間復雜度:算法的時間復雜度是指執(zhí)行算法所需要的計算工作量。
一般來說,計算機算法是問題規(guī)模n的函數(shù)f(n)算法的時間復雜度也因此記做:T(n)=Ο(f(n))。因此,問題的規(guī)模n 越大,算法執(zhí)行的時間的增長率與f(n) 的增長率正相關,稱作漸進時間復雜度
2、空間復雜度:算法的空間復雜度是指算法需要消耗的內存空間。
其計算和表示方法與時間復雜度類似,一般都用復雜度的漸近性來表示。同時間復雜度相比,空間復雜度的分析要簡單得多。
3、正確性:算法的正確性是評價一個算法優(yōu)劣的最重要的標準。
4、可讀性:算法的可讀性是指一個算法可供人們閱讀的容易程度。
5、健壯性:健壯性是指一個算法對不合理數(shù)據(jù)輸入的反應能力和處理能力,也稱為容錯性。
參考資料:搜狗百科—算法
迭代就是用新計算的結果去代替以前的數(shù),能解決多個數(shù)求和,累加等問題,例如:
求1到100的和,用迭代思想;
for(i=1;it=t+i;(用t+i代替前面的t)
冒泡就是排序,讓后面的數(shù)和前面的數(shù)比較大小,然后改變他們的順序,得到我們想要的序列,一般解決排序和找特殊數(shù)等問題,例如:
對1,4,28,67,34,56,23,46,43進行排序。
窮舉,就是舉例,窮舉法是最常見的密碼破解方法。也就是一個一個地試。例如:
密碼為123,窮舉法從1位數(shù)0開始,一直到碰對為止。 一般來說,窮舉法適用于6位以下純數(shù)字密碼,超過6位數(shù)或較復雜窮舉法就很難了,即使可以,也需要很長時間。
算法是物理層面上解決問題方法的一種描述。
算法:就是問題的解決思路
算法的特征:輸入、輸出、有窮性、確定性、可行性
大O表示法:最接近表示的特征函數(shù)的表示方法(漸進函數(shù)):O(n^7)
分析算法要考慮:最優(yōu)時間復雜度、平均時間復雜度、最壞(最長)時間復雜
時間復雜度的幾條基本計算規(guī)則
1. 基本操作,即只有常數(shù)項,認為其時間復雜度為O(1)
2. 順序結構,時間復雜度按加法進行計算
3. 循環(huán)結構,時間復雜度按乘法進行計算
4. 分支結構,時間復雜度取最大值
5. 判斷一個算法的效率時,往往只需要關注操作數(shù)量的最高次項,其它次要項和常數(shù)項可以忽略
6. 在沒有特殊說明時,我們所分析的算法的時間復雜度都是指最壞時間復雜度
1、分析問題。
用電腦來解決問題時,首先電腦要對問題進行定性、定量的分析,然后才能設計算法。定性分析法是對問題進行“質”的方面的分析,確定問題的性質,定量分析法,是對要解決的問題的數(shù)量特征、數(shù)量關系與數(shù)量變化進行分析的方法。
2、設計算法。 算法(Algorithm)是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統(tǒng)的方法描述解決問題的策略機制。
也就是說,能夠對一定規(guī)范的輸入,在有限時間內獲得所要求的輸出。如果一個算法有缺陷,或不適合于某個問題,執(zhí)行這個算法將不會解決這個問題。
不同的算法可能用不同的時間、空間或效率來完成同樣的任務。一個算法的優(yōu)劣可以用空間復雜度與時間復雜度來衡量。
3、編寫程序。 設計完算法后,就要使用某種程序設計語言編寫程序代碼,并最終得到相應結果。
編程的語言包括匯編語言、機器語言和高級語言。高級語言中最簡單、最常用的是Visual Basic語言和Pascal語言。
擴展資料: 人類解決問題:靠知識、見識、常識、經(jīng)驗、直覺、甚至賭博; 計算機解決問題:靠知識庫、推理、推演、演繹、計算和預測以及概率分析。 人類會受外界因素和個人情感的干擾,導致同樣的條件不同的結果;計算機則不受干擾,滿足某個或某些條件,就會執(zhí)行預先設定的命令。
利用計算機程序解決問題的基本過程: 了解利用計算機解決問題的基本過程。 了解問題分析與算法設計之間的關系。
了解算法的基本特征。 能用自然語言、流程圖或偽代碼描述算法。
了解程序設計語言產(chǎn)生與發(fā)展過程。 參考資料來源:百度百科-計算機。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據(jù)《信息網(wǎng)絡傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個月內通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:2.696秒