偶然复杂度 偶然复杂度Accidental complexity是指電腦軟體開發過程中所引入不必要的复杂度偶然复杂度不是待求解問題的本質相對而言 本質複雜度和待求解問題的本質有關是無法避免的偶然复杂度一般是因為選用求解問題的方法時所引入的 有時偶然复杂度可以歸因於像無效的規劃等錯誤不過有時偶然复杂度是求解問題時伴隨產生的副作用例如因為記憶體用完而產生的复杂度是一種偶然复杂度但只要決定使用電腦求解問題就會存在這種复杂度 好的軟體架構設計及實現可以將偶然复杂度降到最低過多的偶然复杂度是一個反面模式的例子