递归、二分查找(主要是程序例子)

本文探讨了递归算法的应用,包括阶乘、幂次方计算及Fibonacci数列生成,并对比分析了两种二分查找算法的时间效率,旨在帮助读者深入理解递归与查找算法的实现与优化。

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

1.递归

1.1 求n!


1.2 求幂次方


1.3 fibonacci数列


2.二分查找返回查找数在列表中的index

2.1原例



2.2修改例



根据查找运算时间和函数调用次数对比这两个例子。


search([2,4,5,7,8,9],2,0,5)改/原search([2,4,5,7,8,9],9,0,5)改/原

search([2,4,5,7,8,9],5,0,5)原/改 search([2,4,5,7,8,9],7,0,5)原/改

search([2,4,5,7,8,9],4,0,5)改/原search([2,4,5,7,8,9],8,0,5)改/原

对比发现:原例程序主要对第一个和最后一个元素查找速度快,整体上修改例运行速度比原例快。

windows系统用time.clock( )

linux系统用time.time( )


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值