2 回答

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊
算法是一系列解決問(wèn)題的清晰指令,也就是說(shuō),能夠?qū)σ欢ㄒ?guī)范的輸入,在有限時(shí)間內(nèi)獲得所要求的輸出。算法常常含有重復(fù)的步驟和一些比較或邏輯判斷。如果一個(gè)算法有缺陷,或不適合于某個(gè)問(wèn)題,執(zhí)行這個(gè)算法將不會(huì)解決這個(gè)問(wèn)題。不同的算法可能用不同的時(shí)間、空間或效率來(lái)完成同樣的任務(wù)。一個(gè)算法的優(yōu)劣可以用空間復(fù)雜度與時(shí)間復(fù)雜度來(lái)衡量。
算法的時(shí)間復(fù)雜度是指算法需要消耗的時(shí)間資源。一般來(lái)說(shuō),計(jì)算機(jī)算法是問(wèn)題規(guī)模n 的函數(shù)f(n),算法執(zhí)行的時(shí)間的增長(zhǎng)率與f(n) 的增長(zhǎng)率正相關(guān),稱作漸進(jìn)時(shí)間復(fù)雜度(Asymptotic Time Complexity)。時(shí)間復(fù)雜度用“O(數(shù)量級(jí))”來(lái)表示,稱為“階”。常見(jiàn)的時(shí)間復(fù)雜度有: O(1)常數(shù)階;O(log2n)對(duì)數(shù)階;O(n)線性階;O(n2)平方階。
算法的空間復(fù)雜度是指算法需要消耗的空間資源。其計(jì)算和表示方法與時(shí)間復(fù)雜度類似,一般都用復(fù)雜度的漸近性來(lái)表示。同時(shí)間復(fù)雜度相比,空間復(fù)雜度的分析要簡(jiǎn)單得多。
[font class="Apple-style-span" style="font-weight: bold;" id="bks_etfhxykd"]算法 Algorithm [/font]
算法是在有限步驟內(nèi)求解某一問(wèn)題所使用的一組定義明確的規(guī)則。通俗點(diǎn)說(shuō),就是計(jì)算機(jī)解題的過(guò)程。在這個(gè)過(guò)程中,無(wú)論是形成解題思路還是編寫程序,都是在實(shí)施某種算法。前者是推理實(shí)現(xiàn)的算法,后者是操作實(shí)現(xiàn)的算法。
一個(gè)算法應(yīng)該具有以下五個(gè)重要的特征:
1、有窮性: 一個(gè)算法必須保證執(zhí)行有限步之后結(jié)束;
2、確切性: 算法的每一步驟必須有確切的定義;
3、輸入:一個(gè)算法有0個(gè)或多個(gè)輸入,以刻畫運(yùn)算對(duì)象的初始情況,所謂0個(gè)輸入是指算法本身定除了初始條件;
4、輸出:一個(gè)算法有一個(gè)或多個(gè)輸出,以反映對(duì)輸入數(shù)據(jù)加工后的結(jié)果。沒(méi)有輸出的算法是毫無(wú)意義的;
5、可行性: 算法原則上能夠精確地運(yùn)行,而且人們用筆和紙做有限次運(yùn)算后即可完成。
算法的設(shè)計(jì)要求
添加回答
舉報(bào)