什么是多项式时间?探讨性子与应用

多项式时间(Polynomial time)是盘算机科学中很重要的一个看法,指算法运行时间能被一个多项式函数上界表达的一类问题。与指数时间、对数时间等常见时间庞大度相对应。多项式时间问题的运行时间为O(n^k),其中n为输入规模,k为常数。多项式时间较小的算法一样平常具有更高的效率和更好的应用远景。

多项式时间对算法研究和设计有着重要意义。在盘算机理论中,P和NP问题是最知名的两类问题,其中P指可以多项式时间内解决的问题,NP指可以用多项式时间内验证的问题或以指数时间内解决的问题。由于尚未证明P是否即是NP,多项式时间的性子一直是研究的热门之一,并引发了许多重要的数学和盘算机科学问题。

除了在理论盘算中的应用,多项式时间为我们提供了很好的适用价值。例如,在盘算机网络中,路由算法往往需要求解最短路径问题,此问题可以用多项式时间算法Dijkstra求解。再例如,在统计学习中,支持向量机是一种基于多项式时间算法的分类器,具有在大规模数据集上快速训练的优势。

相关信息