算法的要素與簡(jiǎn)介
算法的要素與簡(jiǎn)介
算法是指解題方案的準(zhǔn)確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統(tǒng)的方法描述解決問題的策略機(jī)制。以下是由學(xué)習(xí)啦小編整理關(guān)于什么是算法的內(nèi)容,希望大家喜歡!
算法的特征
一個(gè)算法應(yīng)該具有以下五個(gè)重要的特征:
有窮性(Finiteness)
算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止;
確切性(Definiteness)
算法的每一步驟必須有確切的定義;
輸入項(xiàng)(Input)
一個(gè)算法有0個(gè)或多個(gè)輸入,以刻畫運(yùn)算對(duì)象的初始情況,所謂0個(gè)輸入是指算法本身定出了初始條件;
輸出項(xiàng)(Output)
一個(gè)算法有一個(gè)或多個(gè)輸出,以反映對(duì)輸入數(shù)據(jù)加工后的結(jié)果。沒有輸出的算法是毫無(wú)意義的;
可行性Effectiveness)
算法中執(zhí)行的任何計(jì)算步驟都是可以被分解為基本的可執(zhí)行的操作步,即每個(gè)計(jì)算步都可以在有限時(shí)間內(nèi)完成(也稱之為有效性)。
算法的要素
一、數(shù)據(jù)對(duì)象的運(yùn)算和操作:計(jì)算機(jī)可以執(zhí)行的基本操作是以指令的形式描述的。一個(gè)計(jì)算機(jī)系統(tǒng)能執(zhí)行的所有指令的集合,成為該計(jì)算機(jī)系統(tǒng)的指令系統(tǒng)。一個(gè)計(jì)算機(jī)的基本運(yùn)算和操作有如下四類:
1,算術(shù)運(yùn)算:加減乘除等運(yùn)算
2,邏輯運(yùn)算:或、且、非等運(yùn)算
3,關(guān)系運(yùn)算:大于、小于、等于、不等于等運(yùn)算
4,數(shù)據(jù)傳輸:輸入、輸出、賦值等運(yùn)算
二、算法的控制結(jié)構(gòu):一個(gè)算法的功能結(jié)構(gòu)不僅取決于所選用的操作,而且還與各操作之間的執(zhí)行順序有關(guān)。
算法的評(píng)定
同一問題可用不同算法解決,而一個(gè)算法的質(zhì)量?jī)?yōu)劣將影響到算法乃至程序的效率。算法分析的目的在于選擇合適算法和改進(jìn)算法。一個(gè)算法的評(píng)價(jià)主要從時(shí)間復(fù)雜度和空間復(fù)雜度來(lái)考慮。
時(shí)間復(fù)雜度
算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量。一般來(lái)說(shuō),計(jì)算機(jī)算法是問題規(guī)模n 的函數(shù)f(n),算法的時(shí)間復(fù)雜度也因此記做。
T(n)=Ο(f(n))
因此,問題的規(guī)模n 越大,算法執(zhí)行的時(shí)間的增長(zhǎng)率與f(n) 的增長(zhǎng)率正相關(guān),稱作漸進(jìn)時(shí)間復(fù)雜度(Asymptotic Time Complexity)。
空間復(fù)雜度
算法的空間復(fù)雜度是指算法需要消耗的內(nèi)存空間。其計(jì)算和表示方法與時(shí)間復(fù)雜度類似,一般都用復(fù)雜度的漸近性來(lái)表示。同時(shí)間復(fù)雜度相比,空間復(fù)雜度的分析要簡(jiǎn)單得多。
正確性
算法的正確性是評(píng)價(jià)一個(gè)算法優(yōu)劣的最重要的標(biāo)準(zhǔn)。
可讀性
算法的可讀性是指一個(gè)算法可供人們閱讀的容易程度。
健壯性
健壯性是指一個(gè)算法對(duì)不合理數(shù)據(jù)輸入的反應(yīng)能力和處理能力,也稱為容錯(cuò)性。
看過(guò)“算法的要素”的人還看了:
2.高中數(shù)學(xué)必修三算法初步知識(shí)點(diǎn)講解
4.2016工資算法