Function 函数类的复杂性

Function 函数类的复杂性,function,math,complexity-theory,notation,Function,Math,Complexity Theory,Notation,如果f(n)和g(n)是自然数上的函数,这些语句意味着什么 g(n)在Θ(f(n))中 及 算法属于复杂度类Θ(f(n)) g(n)用a.f(n)和b.f(n)括起来(其中a如果g(n)在f(n)中)则存在实常数a和b大于零,且整数常数n0大于零,因此对于所有n>n0,a*f(n)有关大Θ符号的正式定义,请参见。 您可以找到更具描述性的解释 对于一个算法,n是输入数据的大小(例如列表/数组中的元素数/…),您将得到增加n的算法“成本”的估计值。 成本通常是指基本运算(算术运算、比较、条件)的数量

如果
f(n)
g(n)
是自然数上的函数,这些语句意味着什么

  • g(n)
    Θ(f(n))
  • 算法属于复杂度类
    Θ(f(n))

  • g(n)
    a.f(n)
    b.f(n)
    括起来(其中
    a如果
    g(n)
    f(n)中)
    则存在实常数
    a
    b
    大于零,且整数常数
    n0
    大于零,因此对于所有
    n>n0
    a*f(n)有关大Θ符号的正式定义,请参见。
    您可以找到更具描述性的解释

    对于一个算法,
    n
    是输入数据的大小(例如列表/数组中的元素数/…),您将得到增加
    n
    的算法“成本”的估计值。 成本通常是指基本运算(算术运算、比较、条件)的数量

    “算法”的简单示例:访问大小为
    n
    的容器中的任意元素:

    • 对于一个数组,您可以直接访问每个元素。所以成本是恒定的,在您的表示法中意味着
      f(n)=1
    • 对于一个链表,您必须从一开始就遍历列表。因此,平均而言,您必须通过列表的一半:
      f(n)=n/2
      (或者等效地
      f(n)=n

    看一看这个问题:我投票将这个问题作为离题来结束,因为它不是关于实际编程的,而是在提问者添加了更多自己的工作并解释了他所处的困境之后,就应该继续提问。