二分法查找算法的时间复杂度,python 二分查找函数

  二分法查找算法的时间复杂度,python 二分查找函数

  时间复杂度

  时间复杂度是一个用来估计算法运行时间的公式(单位)。

  一般来说,时间复杂度高的算法比复杂度低的算法慢。

  常见时间复杂度(按效率排序)

  O(1) O(对数n) O(n) O(n对数n) O(n 2) O(n 2对数n) O(n 3)

  不寻常的时间复杂度(看看就知道了)

  n不(n!)O(2 n) O(n n) …

  如何一眼判断时间复杂度?

  将周期减半的过程

  周期数是n的幂的复杂度。

  空间复杂性

  空间复杂度:用于评估算法内存占用的公式。

  “空间换时间”

  河内塔问题

  梵天创造世界的时候做了三根钻石柱子,柱子上自下而上叠放了64个黄金圆盘。

  梵天命令hldxd按照大小的顺序从下往上重新排列另一列的盘面。

  不能在小盘上放大盘。一次只能在三列之间移动一个磁盘。

  当64根柱子被移动时,世界将被毁灭。

  河内国防大学:

  如果n 0:

  河内(n-1,A,C,B)

  打印( %s-%s % (A,C))

  河内(n-1,B,A,C)

  河内(5, A , B , C )

  #h(n)=2h(n-1) 1

  #h(1)=1

  递归面试问题,善良的老虎

  由n级台阶组成的楼梯,真诚的目光从楼梯底部向顶部移动,可以选择一次走一级台阶,也可以选择两步。问:他有多少种不同的走路方式?

  #善良的老虎系列

  f(n)=f(n-1) f(n-2)

  从系统导入setrecursionlimit

  从校准时间导入校准时间

  setrecursionlimit(1000)

  # O(2^n)

  # f(n)=f(n-1) f(n-2)

  #当问题的解决方案依赖于其子问题的解决方案时

  定义纤维(n):

  如果n==0或n==1:

  返回1

  否则:

  返回光纤(n-1)光纤(n-2)

  # O(n)

  定义fib2(n):

  李=[1,1]

  对于范围(2,n ^ 1)中的I:

  li.append(li[-1] li[-2])

  返回李[-1]

  定义fib3(n):

  li=[-1表示范围(n ^ 1)中的I]

  定义纤维(n):

  如果n==0或n==1:

  返回1

  elif li[n]=0:

  返回李[n]

  否则:

  v=fib(n-1) fib(n-2)

  李,李

  返回李[n]

  返回光纤(n)

  # 1 2

  # O(n)

  定义纤维4(n):

  a=1

  b=1

  c=1

  对于范围(2,n ^ 1)中的I:

  c=a b

  a=b

  b=c

  返回c

  @cal_time

  def fibnacci(n):

  返回fib4(n)

  打印(fibnacci(400))

  列表查找

  列表搜索:从列表中查找指定的元素。

  输入:列表,要查找的元素

  输出:未找到元素下标或元素。

  顺序查找于

  从列表中的第一个元素开始,按顺序搜索,直到找到为止。

  二分搜索法日志

  从有序列表的候选区域数据[0:n]开始,通过比较要搜索的值和候选区域的中间值,可以将候选区域缩小一半。

  二进位检索

  从校准时间导入校准时间

  #时间复杂度:log n

  def fdwsary_search(li,val):

  低=0

  高=len(li)-1

  While low=high: #只要候选区域有值

  mid=(低高)//2

  if val==li[mid]:

  返回mid

  elif val li[mid]:

  高=中间1

  else: # val li[mid]

  低=中1

  返回-1

  #递归和迭代

  #通常,递归会很慢

  #尾部递归:编译器将优化迭代,但Python没有针对尾部递归进行优化。

  def fdws_search_rec(数据集,值,低,高):

  如果低=高:

  mid=(低高)//2

  if data_set[mid]==value:

  返回mid

  elif data_set[mid]值:

  返回fdws_search_rec(数据集,值,低,中1)

  否则:

  返回fdws_search_rec(数据集,值,中1,高)

  否则:

  返回

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: