数学学到什么程度才能用数学方法分析编程算法

如题 数学学到什么程度才能用数学的证明、归纳……分析编程中对问题的算法?

比如有个很经典的问题 汉诺塔 用到了递归的设计,但是所有的书上都是一概而过,对于这种实现并没有具体的分析,和证明。
我要学数学学到什么程度才能 用数学的方法研究不同问题的算法和证明各种算法的有效性等问题?
就是用数学的方法吧算法的各种性质和问题都研究出来!

第1个回答  推荐于2016-10-17
这个要看你需要证明什么性质。
比如最简单的时间/空间复杂度(time/space complexity),不需要非常高深的数学知识,高中数学基础就足够了(需要用到数学归纳法),然后把“算法分析与设计”这类课程学一下就可以了。
如果你要证明非常复杂的性质,比如操作系统内核中程序调度的可靠性(safety)、多模块程序交互的时间特性(即在规定的时间内必定执行完毕)、编译器的可靠性等等,这个证明就非常复杂了,你本身首先是优秀的程序员,其次需要学习数理逻辑(包括拉姆达验算、霍尔逻辑、分离逻辑……)本回答被提问者采纳
第2个回答  2015-11-20
  如果是最简单的时间/空间复杂度(time/space complexity),不需要非常高深的数学知识,高中数学基础就足够了(需要用到数学归纳法),然后把“算法分析与设计”这类课程学一下就可以了。
  如果要证明非常复杂的性质,比如操作系统内核中程序调度的可靠性(safety)、多模块程序交互的时间特性(即在规定的时间内必定执行完毕)、编译器的可靠性等等,这个证明就非常复杂了,首先在是优秀的程序员,其次需要学习数理逻辑(包括拉姆达验算、霍尔逻辑、分离逻辑等等。)
相似回答