偶然复杂度(Accidental complexity)是指电脑软体开发过程中所引入不必要的复杂度。偶然复杂度不是待求解问题的本质，相对而言，本质复杂度和待求解问题的本质有关，是无法避免的。偶然复杂度一般是因为选用求解问题的方法时所引入的。有时偶然复杂度可以归因于像无效的规划等错误，不过有时偶然复杂度是求解问题时伴随产生的副作用。例如因为记忆体用完而产生的复杂度是一种偶然复杂度，但只要决定使用电脑求解问题，就会有在这种复杂度。好的软体架构、设计及实现可以将偶然复杂度降到最低，过多的偶然复杂度是一个