导读:
当我们遇到一个问题时,我们总是很自然的开始恩考求解这个问题的算法.我们大多数人都没有注意到问题本身的可解性.其实很多问题很难想出一种有效算法的,当然,遍历算法除外.如果我们有一台超强的计算机,那么一切算法都是没有意义的,因为一切问题都可以用遍历来解.
算法的效率其实正是体现在问题的大规模输入上,所以,我们在比较算法的好坏时,通常考虑它在大规模输入时的运行时间,占用空间等.P与NP问题正是源自算法执行的效率.
我想绝大多数学计算机的人都听过P与NP问题,但我觉得,真正能说出它是怎么回事的,不在多数.至少在我仔细看资料之前,我是说不出P与NP问题到底是怎么回事,以及怎么证明一个问题是NP或NP完全的.所以,我想写一些自己对P与NP问题的理解.
在介绍P与NP之前,我想先介绍两个概念.
1.确定性算法
设A是求解问题B的一个算法,如果在展示问题B的一个实例时,在整个执行过程中每一步都只有一个选择,则称A是确定性算法.因此如果对于同样的输入,实例一遍又一遍地执行,它的输出从不改变.
通常我们在写程序时,用到的都是一些确定性算法,比如说排序算法,最优化阅读全文>
发表于 @ 2008年02月22日 20:05:00|评论(loading...)|编辑
导读:
本文转自
http://blog.csdn.net/dansin/archive/2006/03/24/637820.aspx
阅读全文>
发表于 @ 2008年02月22日 20:03:00|评论(loading...)|编辑