杂论 - 复杂度相关

大声朗读并熟练背诵

\[\large \begin{array} AA\alpha\ B\beta \ \Gamma\gamma\ \Delta \delta\ E\epsilon\ Z\zeta\ H\eta\ \Theta\theta\ I\iota\ K\kappa\ \Lambda\lambda \ M\ \mu\ N\nu\ \Xi\xi\ O\omicron\ \Pi\pi\ P\rho \ \Sigma \sigma\varsigma\ T\tau\ \ \Upsilon\upsilon\ \Phi\phi\varphi \ X\chi\ \Psi\psi \ \Omega\omega \end{array} \]

复杂度表示

  • https://oiwiki.org/basic/complexity/

  • 大 Theta \(\Theta\) 符号:上下界夹逼

    • \(f(n)=\Theta(g(n))\),当且仅当存在 \(l,r,n'\ \color{red}{>0}\) 使得任意 \(n>n'\) 都有 \(l\cdot g(n)\le f(n)\le r\cdot g(n)\)
  • 大 Omicron \(O\) 符号:非严格上界

    • \(f(n)=O(g(n))\),当且仅当存在 \(r,n'\ \color{red}{>0}\) 使得任意 \(n>n'\) 都有 \(f(n)\le r\cdot g(n)\)
  • 大 Omega \(\Omega\) 符号:非严格下界

    • \(f(n)=\Omega(g(n))\),当且仅当存在 \(l,n'\ \color{red}{>0}\) 使得任意 \(n>n'\) 都有 \(l\cdot g(n)\le f(n)\)
  • 小 omicron \(\omicron\) 符号:严格上界

    • \(f(n)=\omicron(g(n))\),当且仅当存在 \(r,n'\ \color{red}{>0}\) 使得任意 \(n>n'\) 都有 \(f(n)< r\cdot g(n)\)
  • 小 omega \(\omega\) 符号:严格下界

    • \(f(n)=\omega(g(n))\),当且仅当存在 \(l,n'\ \color{red}{>0}\) 使得任意 \(n>n'\) 都有 \(l\cdot g(n)< f(n)\)
  • 注意,\(f(n)\) 是我们要研究的函数,\(O(g(n))\) 是对 \(f\) 的估计

复杂度分析

性质

  • \(f(n)=\Theta(g(n))\) 当且仅当 \(f(n)=O(g(n))\)\(f(n)=\Omega(g(n))\)
  • \(f_1(n)+f_2(n)=\Theta(\max(f_1(n),f_2(n)))\)
  • \(f_1(n)f_2(n)=\Theta(f_1(n)f_2(n))\)
  • \(\forall a\ne 1,\log_a n=\Theta(\log_2 n)\)。由换底公式可以得知,对数函数无论底数如何,都具有相同的增长率,因此渐进时间复杂度中对数的底数一般省略不写

分析

P=NP?

P 问题和 NP 问题

P 问题:能在多项式时间内解决。

NP 问题:不能在多项式时间内解决但可在多项式时间内验证。

A 能多项式规约为 B:问题 A 的所有实例都能够在多项式的时间复杂度内转化为问题 B 的所有实例。

规约后如果问题依然是 NP 问题,我们就把它称作 NP-complete 问题;如果不是,称它为 NP-hard 问题。

posted @ 2023-09-28 09:15  Network_Error  阅读(11)  评论(0)    收藏  举报