fbpx
维基百科

本質複雜度

本質複雜度(Essential complexity)是指由於一問題的本質不適合簡單的求解方式,所有可行的求解方式都很複雜的情形。本質複雜度和偶然复杂度不同,後者的複雜度和問題本質無關,和選用求解的工具或方法有關。

本質複雜度至少在1980年代中期已被使用,圖靈獎得主佛瑞德·布魯克斯當時已開始使用本質複雜度及其反義詞偶然复杂度。他也在1995年時在《人月神話》中的沒有銀彈一段中提出他的新論點[1][2][3][4]

循環複雜度 编辑

若本質複雜度和循環複雜度並用時,本質複雜度有不同的含意。此時的本質複雜度是指一程式持續的將有良好結構的流桯控制指令改為單一敘述後,最後得到的循環複雜度。像if-then-else及while loop等控制結構都視為良好結構,因此不會增加本質複雜度。未限制使用的goto、break及continue指令會增加本質複雜度。

例如,以下的C語言程式片段的本質複雜度為1,因為內層的if指令及for迴圈都可以簡化為單一敘述。

 for(i=0;i<3;i++) { if(a[i] == 0) b[i] += 2; } 

以下的C語言程式片段的本質複雜度大於1,其內容是要找到z陣列中第一個全部為0的列,若找到了,設定i為列編號,若找不到了,設定i為-1

 for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(z[i][j] != 0) goto non_zero; } goto found; non_zero: } i = -1; found: 

相關條目 编辑

參考資料 编辑

  1. ^ Brooks, Fred P. No Silver Bullet - Essence and Accident in Software Engineering. Proceedings of the IFIP Tenth World Computing Conference. 1986: 1069–1076. 
  2. ^ Brooks, IEEE Computer
  3. ^ Brooks, Mythical Man-Month, Silver Bullet Refired
  4. ^ McCabe, Watson. . 1996. (原始内容存档于2012-08-28). 

本質複雜度, essential, complexity, 是指由於一問題的本質不適合簡單的求解方式, 所有可行的求解方式都很複雜的情形, 和偶然复杂度不同, 後者的複雜度和問題本質無關, 和選用求解的工具或方法有關, 至少在1980年代中期已被使用, 圖靈獎得主佛瑞德, 布魯克斯當時已開始使用及其反義詞偶然复杂度, 他也在1995年時在, 人月神話, 中的沒有銀彈一段中提出他的新論點, 循環複雜度, 编辑若和循環複雜度並用時, 有不同的含意, 此時的是指一程式持續的將有良好結構的流桯控制指令改為單一敘述後, 最後. 本質複雜度 Essential complexity 是指由於一問題的本質不適合簡單的求解方式 所有可行的求解方式都很複雜的情形 本質複雜度和偶然复杂度不同 後者的複雜度和問題本質無關 和選用求解的工具或方法有關 本質複雜度至少在1980年代中期已被使用 圖靈獎得主佛瑞德 布魯克斯當時已開始使用本質複雜度及其反義詞偶然复杂度 他也在1995年時在 人月神話 中的沒有銀彈一段中提出他的新論點 1 2 3 4 循環複雜度 编辑若本質複雜度和循環複雜度並用時 本質複雜度有不同的含意 此時的本質複雜度是指一程式持續的將有良好結構的流桯控制指令改為單一敘述後 最後得到的循環複雜度 像if then else及while loop等控制結構都視為良好結構 因此不會增加本質複雜度 未限制使用的goto break及continue指令會增加本質複雜度 例如 以下的C語言程式片段的本質複雜度為1 因為內層的if指令及for迴圈都可以簡化為單一敘述 for i 0 i lt 3 i if a i 0 b i 2 以下的C語言程式片段的本質複雜度大於1 其內容是要找到z陣列中第一個全部為0的列 若找到了 設定i為列編號 若找不到了 設定i為 1 for i 0 i lt m i for j 0 j lt n j if z i j 0 goto non zero goto found non zero i 1 found 相關條目 编辑決策到決策路徑 偶然复杂度 奧卡姆剃刀 没有银弹參考資料 编辑 Brooks Fred P No Silver Bullet Essence and Accident in Software Engineering Proceedings of the IFIP Tenth World Computing Conference 1986 1069 1076 Brooks IEEE Computer Brooks Mythical Man Month Silver Bullet Refired McCabe Watson Structured Testing A Testing Methodology Using the Cyclomatic Complexity Metric Chapter 10 Essential Complexity 1996 原始内容存档于2012 08 28 nbsp 这是一篇與程序设计相關的小作品 你可以通过编辑或修订扩充其内容 查论编 取自 https zh wikipedia org w index php title 本質複雜度 amp oldid 48611015, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。