算法的特性
輸入月劈,輸出,有窮性而姐,確定性,可行性
1.輸入
- 算法具有零個(gè)或多個(gè)輸入。
- 輸入?yún)?shù)是可以不必要的,列如: "my son"
2.輸出 - 算法至少有一個(gè)或多個(gè)輸出
- 可以是打印形式輸出官帘, 也可以是返回一個(gè)值或多個(gè)只等
3.有窮性 - 只算法在執(zhí)行有限的步驟之后,自動(dòng)結(jié)束而不會(huì)出現(xiàn)無限循環(huán),并且每一個(gè)步驟在可接受的時(shí)間內(nèi)完成。
4.確定性 - 算法的沒一個(gè)步驟都具有確定的含義撩独,不會(huì)出現(xiàn)二義性(二就是二局齿,不二就是不二)
- 算法在一定條件下,只有一條執(zhí)行路徑萄喳,相同的輸入只能有唯一的輸出結(jié)果减江。
- 算法的每個(gè)步驟都應(yīng)該被精確定義而無歧義觉痛。
5.可行性 - 算法的每一步都必須是可行的,也就是說,每一步都能溝通過執(zhí)行有限次數(shù)完成邮辽。
JavaScript二叉樹排序算法
線性表
線性表是有零個(gè)或多個(gè)數(shù)據(jù)元素組成的有限序列揣云。
- 首先它是一個(gè)序列焚刚,也就是說元素之間是有個(gè)先來后到的。
- 若元素存在多個(gè)雌团,則第一個(gè)元素?zé)o前驅(qū),而最后一個(gè)元素?zé)o后繼略板,其他元素都有且只有一個(gè)前驅(qū)和后繼。
- 線性表是有限的祭示,無論計(jì)算機(jī)發(fā)展到多強(qiáng)大轧抗,它所處理的元素都是有限的灯蝴。
[a1,...,ai-1,ai,ai+1,...an] //ai-1是ai的前驅(qū)元素,ai+1是ai的后驅(qū)元素