跳转至

np

不可解问题:停机问题

p:可以在多项式时间求解的问题

np:可以在多项式时间验证的问题

p属于np,因为可解一定可验证。

np里最难的问题npc

reduction归约

假设有两个问题X和Y,存在一个多项式时间内的算法f,使得:

  • 可以把x的输入转化为y的输入,即\(y_i=f(x_i)\)
  • 该算法保证两个问题转化前后的答案相同,即\(x_i \in X\ \ iff\ \ y_i \in Y\)

Y更难,因为如果可以多项式时间解决Y,那么就可以解决X,即为\(X\leq _pY\)

travelling salesman problem 旅行商问题

给定一个边带权重的的完全图(任意两点都有边相连)和一个整数k,求是否存在一个简单环路,使得经历每个点有且仅有一次,并且路径<=k

vertex cover problem顶点覆盖

最大团问题

随机算法

面试策略

  • 非随机算法:记录一个最好的,从前往后依次面试,当有更好的时,雇佣他并更新最大值
    • 最坏情况:全部都被雇佣
  • 随机算法:对所有面试者进行随机算法,使得最好的人出现在前i个位置的概率为1/i