标签:计算机 复杂性 NPC 第一章 问题 N0 算法 NP
1.1算法与程序
算法的性质:输入、输出、确定性、有限性。
程序是算法用某种程序设计语言的具体实现,可以不满足算法的有限性。
1.2算法复杂性分析
算法复杂性是算法运行所需要的计算机资源的量,需要时间资源的量称为时间复杂性,需要空间资源的量称为空间复杂性。
一般只讨论时间复杂性。
实践表明,可操作性性最好的是最坏情况下的时间复杂性。
分析时间复杂性时可以将复杂性函数简化为渐进复杂性,比较两个算法的渐进复杂性的阶即可确定哪个算法的效率高。
上界(O):如果存在正的常数C和自然数N0 ,使得当N >= N0时有f(N) <= Cg(N),则称函数f(N)当N充分大时上有界,且g(n)是它的一个上界,记为f(N) = Og(N)。这时还说f(N)的阶不高于g(N)的阶。
下界(Ω):如果存在正的常数C和自然数N0 ,使得当N >= N0时有f(N) >= Cg(N),则称函数f(N)当N充分大时下有界,且g(n)是它的一个下界,记为f(N) = Ωg(N)。这时还说f(N)的阶不低于g(N)的阶。
定义f(N) = θ(g,(N))当且仅当f(N) = O(g(N))且f(N) = Ω(g(N))是,称为f(N)与g(N)同阶。
如果对于任意给定的ε>0,都存在正整数N0,使得当N >= N0时有f(N) / g(N) < ε,则称函数f(N)当N充分大时的阶比g(N)低,记为f(N) = o(g(N))。
1.3NP完全性理论
1.P类问题:存在多项式时间算法的问题。
2.NP问题:能在多项式时间内验证得出一个正确解的问题。
3.NPC类问题:存在这样一个NP问题,所有的NP问题都可以约化成它。
4.NP-Hard问题:NP-Hard问题是这样一种问题,它满足NPC问题定义的第二条但不一定要满足第一条(就是说,NP-Hard问题要比 NPC问题的范围广,NP-Hard问题没有限定属于NP),即所有的NP问题都能约化到它,但是它不一定是一个NP问题。
P⊆NP 并且 NPC = NP ∩ NP-hard
标签:计算机,复杂性,NPC,第一章,问题,N0,算法,NP 来源: https://www.cnblogs.com/noobkier/p/16656510.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。