博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法二分法
阅读量:5037 次
发布时间:2019-06-12

本文共 861 字,大约阅读时间需要 2 分钟。

"""""""""算法之二分法:1: 算法 解决问题的高效方法 f = [1,3,4,5,6,7,8,9] 我想取出这个最大的数字9怎么取出是不是可以通过for循环取出来 如:num = 9 for i in f:     注释: 通过for循环吧f的值一个一个的给i      if num==i:    如果当i==9时 那么print 打印findit  表示找到了          print("find it")二:二分法 容器类型里面的数字必须有大小顺序"""f = [1,3,4,5,6,7,8,9]num = 10def get_num(f,num):    if not f:        print("你说输入的找不到")        return    print(f)    middle_index = len(f) // 2    # 判断num跟middle_index对应的数字的大小    if num > f[middle_index]:        # 切取列表右半部分        num_right = f[middle_index + 1:]        # 再递归调用get_num函数        get_num(num_right, num)    elif num < f[middle_index]:        # 切取列表左半部分        num_left = f[0:middle_index]        # 再递归调用get_num函数        get_num(num_left, num)    else:        print('find it', num) 通过切分   吧 列表的值 从中间劈开  然后判断  是否在里面  看是在左边还是在右边   然后重复这样的操作   即可  从而达到最后的目的

 

转载于:https://www.cnblogs.com/yangxinpython/p/11177153.html

你可能感兴趣的文章
BZOJ1452 [JSOI2009]Count 【树套树 (树状数组)】
查看>>
spring源码:Aware接口
查看>>
lazyload的使用方法
查看>>
ingress 代理方式
查看>>
P3360 偷天换日
查看>>
【计算机网络】详解网络层(二)ARP和RARP
查看>>
javaweb常识
查看>>
Java注解
查看>>
时间>金钱
查看>>
元数据元素
查看>>
Visual Studio Code 构建C/C++开发环境
查看>>
web自己主动保存表单
查看>>
lua基金会【五岁以下儿童】I/O文件操作
查看>>
一个小的日常实践——高速Fibonacci数算法
查看>>
创建与删除索引
查看>>
java的基本数据类型
查看>>
机器学些技法(9)--Decision Tree
查看>>
静态页面复习--用semantic UI写一个10min首页
查看>>
在Windows下安装64位压缩包版mysql 5.7.11版本的方法
查看>>
公安项目项目感想
查看>>