【算法设计】python冒泡排序、递归算法等

本文详细介绍了Python中的几种排序算法,包括冒泡排序、选择排序和快速排序,并探讨了影响排序算法性能的因素,如时间复杂度、空间复杂度和算法复杂性。此外,还展示了递归实现斐波那契数列的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、python排序:冒泡、选排、快速
影响内排序算法性能的三个因素:
时间复杂度:即时间性能,高效率的排序算法应该是具有尽可能少的关键字比较次数和记录的移动次数
空间复杂度:主要是执行算法所需要的辅助空间,越少越好。
算法复杂性:主要是指代码的复杂性
冒泡代码:
def dubble(arr):
    for i in range(1,len(arr)):
        for j in range(0,len(arr)-i):
            if arr[j]>arr[j+1]:
                arr[j],arr[j+1]=arr[j+1],arr[j]
    return arr
九九算法:
for i in range(1,10):
    for j in range(i,10):
        print("%d*%d=%2d" % (i,j,i*j),end =" ")
    print("")
print('-------------------------')
#左下三角格式输出九九乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print("%d*%d=%2d" % (i,j,i*j),end=" ")
    print ("")

2.递归斐波拉契数列:
def fblq_list(n):
    if n==1 or n==2:
        return 1
    else:
        m = fblq_list(n-1)+fblq_list(n-2)
        return m
print ("**********请输入要打印的斐波拉契数列项数n的值***********")
try :
    n = int(input("enter:"))
except ValueError:
    print ("请输入一个整数!")
    exit()
list2 = [0]
tmp = 1
while(tmp <= n):
   list2.append(fblq_list(tmp))
   tmp += 1
print(list2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值