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