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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通