數(shù)據(jù)結(jié)構(gòu)與算法
算法
解決特定問題求解步驟的描述,在計(jì)算機(jī)中表現(xiàn)為指令的有限序列蟀给,并且每條指令表示為一個(gè)或多個(gè)操作
eg: 泡妞的技巧和方式
算法具有5個(gè)基本特征:
- 輸入:具有零個(gè)或多個(gè)輸入
- 輸出:至少有一個(gè)或多個(gè)輸出
- 有窮性:指在執(zhí)行有限的步驟
- 確定性:
- 每一個(gè)步驟都具有確定的含義撩匕,不會出現(xiàn)二義性
- 在一定條件下锦亦,只有一個(gè)執(zhí)行路徑宇弛,相同的輸入只能有唯一的輸出結(jié)構(gòu)
- 每個(gè)步驟都應(yīng)該被精確定義而無歧義
- 可行性
- 算法的每一步都必須是可行性曙痘,也是每一步都能勾通過執(zhí)行有限次數(shù)完成
算法設(shè)計(jì)的要求
-
正確性
- 至少有輸入阳准、輸出和加工處理無歧義氛堕,能夠正確反應(yīng)問題的需求、能夠得到問題的正確答案
- 四個(gè)層次:
- 有語法錯(cuò)誤
- 對于合法輸入能夠產(chǎn)生滿足要求的輸出
- 對非法輸入能夠產(chǎn)生滿足規(guī)格的說明
- 對故意刁難的測試輸入都有滿足要求的輸出結(jié)果
-
可讀性
- 算法目的便與閱讀野蝇、理解和交流
- 一方面讓計(jì)算機(jī)執(zhí)行讼稚、一方面方便他人閱讀和自己日后閱讀修改
-
健壯性
- 當(dāng)輸入數(shù)據(jù)不合法時(shí),算法也能做出相關(guān)處理绕沈,而不是產(chǎn)生異常锐想、崩潰和莫名其妙的結(jié)果
時(shí)間效率高和存儲量低
--END--
創(chuàng)作不易,覺得不錯(cuò)的話,歡迎關(guān)注、點(diǎn)贊??或掌賞乍狐!