1、冒泡排序
a、题目:列表数据[4,2,3,1] 用冒泡排序
a、冒泡排序的对比方式:相邻交换位置去对比
b、冒泡排序示例
list1=[4,2,3,1]
len1=len(list1)
print(len1)
for i in range(1,len1):
for j in range(1,len1-i+1):
if list1[j-1]>list1[j]:
list1[j-1],list1[j]=list1[j],list1[j-1]
print(list1)
输出结果:
4
[1, 2, 3, 4]
流程解析:
第一个循环控制外部循环总共循环多少次(循环三次)
第二个循环控制内部循环总共循环多少次(循环三次)
4,2,3,1
i=1 4231
j=1 (j-1 > j) 2431
j=2 (j-1 > j) 2341
j=3 (j-1 > j) 2314
i=2
j=1 (j-1 > j) 2314
j=2 (j-1 > j) 2134
i=3
j=1 (j-1 > j) 1234
2、选择排序
a、题目:列表数据[4,2,3,1] 用选择排序
a、选择排序的对比方式:找打最大值,拿出来去和别人对比。原理:在一组数据中从最开始找到最大(小)的元素,放在排序的起始位置
b、选择排序示例
list1=[4,2,3,1]
max_index=0
for i in range(0,len(list1)-1):
for j in range(i+1,len(list1)):
if list1[j]>list1[max_index]:
max_index=j
list1[i],list1[max_index]=list1[max_index],list1[i]
max_index=i+1
print(list1)
输出结果:[4, 3, 2, 1]
流程解析
4,2,3,1
第一次循环
i=0
j=1 2>4(否) max=0 4231
j=2 3>4(否) max=0 4231
j=3 1>4(否) max=0 4231
第二次循环
i=1
j=1 3>2(是) max=2 4231
j=2 1>2(否) max=2 4321
第三次循环
i=2
j=3 1>2(否) max=3 4321
3、递归算法
a、题目:计算1+2+3 用递归计算
a、递归的特点:函数内部自己调用自己(有出口,满足一个条件,就不执行)
b、递归算法示例
def sum_number(num):
if num==1:
return 1
temp=sum_number(num-1)
return temp+num
a=sum_number(3)
print(a)
输出结果:6
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现