zoukankan      html  css  js  c++  java
  • Python练习-递归二分算法

     1 # 编辑者:闫龙
     2 #递归,二分算法演示
     3 l = [i for i in range(1,100)]#定义一个列表l,并追加1-99的所有数字
     4 def FindNum(num,l):#定义函数FindNum传递需要查找的数字和l列表
     5     start = int(len(l)/2) #获取列表l的中间值,用于二分算法
     6     if(start == 0):#判断如果l列表的取中元素为0的话证明l列表中的元素已经只剩1个元素了
     7         print(num,"is Miss")#如果生下一个元素都不能找到num的值则跳出整个函数
     8         return None
     9     if(l[start]>num): #如果l列表取中的元素大于num,就将拆分开的列表小于start的部分取出来重新赋值给l列表
    10         l = l[0:start]
    11         FindNum(num,l)#重新执行FindNum函数
    12     elif(l[start] < num):#如果l列表的取中元素小于num,就将拆分开的列表大于start的部分取出来重新赋值给l列表
    13         l = l[start:]
    14         FindNum(num,l)#重新执行FindNum函数
    15     else:#除了大于,小于两种情况之外,只剩下等于了
    16         print(num,"is Find")
    17 
    18 FindNum(98,l)#执行FindNum函数
  • 相关阅读:
    项目积累——导出数据
    项目积累——POPUP
    项目积累——jQuery
    项目积累——集合相关知识
    项目积累——关于时间显示和格式的几种方式
    项目积累——综合
    项目积累——js应用
    项目积累——CSS应用

    平衡二叉树
  • 原文地址:https://www.cnblogs.com/DragonFire/p/6710198.html
Copyright © 2011-2022 走看看