大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 淺談算法設計要求

淺談算法設計要求

更新時間:2020-12-29 17:48:27 來源:動力節點 瀏覽1217次

算法(Algorithm)是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統的方法描述解決問題的策略機制。算法概念的誕生到如今算法體系的成熟,經歷了許多的波折,也孕育出了許多的優質算法。算法本身還是人為設計出來的,因此,算法設計要求也是客觀存在的。

 

算法中的指令描述的是一個計算,當其運行時能從一個初始狀態和(可能為空的)初始輸入開始,經過一系列有限而清晰定義的狀態,最終產生輸出并停止于一個終態。一個狀態到另一個狀態的轉移不一定是確定的。也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。如果一個算法有缺陷,或不適合于某個問題,執行這個算法將不會解決這個問題。不同的算法可能用不同的時間、空間或效率來完成同樣的任務。下面我們從這些對算法的描述出發來看算法的設計要求。

 

1.正確性

算法至少應該具有輸入,輸出和加工處理無歧義性,能正確反映問題的需求,能夠得到問題的正確答案 算法程序沒有語法錯誤 算法程序對于合法輸入能夠產生滿足要求的輸出。

 

2.可讀性(算法設計另一目的是為了便于閱讀,理解和交流)

算法主要是為了人的閱讀與交流,其次才是機器執行??勺x性好有助于人對算法牟理解;晦澀難懂的程序易于隱藏較多錯誤,難以調試和修改。

 

3.健壯性

當輸入數據非法時,算法也能適當地做出反應或進行處理,而不會產生黃曉明其妙的輸出結果。例如,一個求凸多邊形面積的算法,是采用求各三角形面積之和的策略來解決問題的。當輸入的坐標集合表示的是一個凹多邊形時,不應繼續計算,而應報告輸入出錯。并且處理出錯的方法應是返回一個表示錯誤或錯誤性質的值,而不是打印錯誤信息或異常,并中止程序的執行,以便在更高的抽象層次上進行處理。

 

4.時間效率高和存儲量低

通俗地說,效率指的是算法執行的時間。對于同一個問題如果有多個算法可以解決,執行時間短的算法效率高。存儲量需求算法執行過程中所需要的最大存儲空間。效率與低存儲量需求這兩者都與問題的規模有關。求 100 個人的平均分與求 1000 個人的平均分所花的執行時間或運行空間顯然有一空差別。

 

顯然,同一個算法用不同的語言實現,或者用不同的編譯器進行編譯,或者在不同的計算機運行時,效率均不相同。這表明使用絕對的時間單位衡量算法的效率是不合適的。撇開這些與計算機硬件、軟件有關的因素,可以認為一個特定算法“運行工作量”的大小,只依賴于問題的規模(通常用整數量 n 表示),或者說,它是問題規模的函數。

 

以上就是算法設計要求的全部內容,只有滿足這些要求,設計出來的算法才能算是合理的。從某種程度上來說,算法設計要求和算法的一些特征是不謀而合的。想要設計出一個優秀的算法,還是有很大難度的,我們只能量力而行,在本站的數據結構和算法教程中先學習一些廣為人知的優秀算法,得出自己的心得,以便我們設計出合格的算法。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 欧美一区二区三 | 午夜影院免费在线观看 | 成年人精品视频 | 中文字幕国产视频 | 一级一级一级毛片 | 欧美一级黄色毛片 | 国产伦精品一区二区三区四区 | 日日摸夜夜添夜夜添人人爽 | 天天弄天天干 | 久久久久久久国产精品 | 国内精品免费一区二区三区 | 国产精品亚洲欧美大片在线看 | 99re5在线精品视频热线 | 伊人影院99 | 99久久国产综合精麻豆 | 香蕉久久国产 | 日韩毛片大全 | 天天色综合图片 | 欧美激情精品久久久久久久久久 | 狠狠色丁香婷婷综合最新地址 | 日本久久99 | 色播五月婷婷 | 国产成人精品高清免费 | 性做久久久久久坡多野结衣 | 成人欧美一区二区三区在线观看 | 精品国产成人高清在线 | 50-60岁老妇女一级毛片 | 91精品久久久 | 天天操天天操天天操香蕉 | 国产乱子伦一级毛片 | 天天干天天在线 | 99热久久久久久久免费观看 | 97视频精品全国在线观看 | 中文字幕伊人久久网 | 永久看日本大片免费 | 国产在视频线精品视频2021 | 中文字幕日韩哦哦哦 | 久草高清视频 | 热99re久久精品这里都是免费 | 国产娱乐凹凸视觉盛宴在线视频 | 一区二区3区免费视频 |