04_10、算法

  算法是解决问题放入高效方法

  常见的算法包括:二分法、冒泡算法、选择排序

一、二分法

  二分法是指,在顺序排列的组合中,高效找到所需值的一种方法。

  具体是不断对比中间的数值,判断所属范围在中间的左边或者右边。

  优点是对末尾数值方便快速查找,缺点是查找第一个数值比不了传统方法(for循环遍历查找)

复制代码
l = [1, 2, 3, 4, 5, 6, 11, 22, 34, 44, 55, 66, 67, 333, 444]


def my_half(target_num, l):  # 
    # 1. 从列表中取一个中间值
    middle_index = len(l) // 2  # 7

    # 2. 比较
    if target_num > l[middle_index]:
        # 要找的元素在右边
        l_right = l[middle_index + 1:]
        my_half(target_num, l_right)
    elif target_num < l[middle_index]:
        # 要找的元素一定在左边
        l_left = l[:middle_index]
        my_half(target_num, l_left)
    else:
        print('找到了,哈哈哈哈')


my_half(34, l)
复制代码

 

posted @   三三得九86  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示