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

1.递归

1.1 求n!

递归、二分查找(主要是程序例子)_第1张图片递归、二分查找(主要是程序例子)_第2张图片

1.2 求幂次方

递归、二分查找(主要是程序例子)_第3张图片递归、二分查找(主要是程序例子)_第4张图片

1.3 fibonacci数列

递归、二分查找(主要是程序例子)_第5张图片

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

2.1原例

递归、二分查找(主要是程序例子)_第6张图片递归、二分查找(主要是程序例子)_第7张图片


2.2修改例

递归、二分查找(主要是程序例子)_第8张图片递归、二分查找(主要是程序例子)_第9张图片


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


search([2,4,5,7,8,9],2,0,5)改/原递归、二分查找(主要是程序例子)_第10张图片search([2,4,5,7,8,9],9,0,5)改/原递归、二分查找(主要是程序例子)_第11张图片

search([2,4,5,7,8,9],5,0,5)原/改递归、二分查找(主要是程序例子)_第12张图片 search([2,4,5,7,8,9],7,0,5)原/改递归、二分查找(主要是程序例子)_第13张图片

search([2,4,5,7,8,9],4,0,5)改/原递归、二分查找(主要是程序例子)_第14张图片search([2,4,5,7,8,9],8,0,5)改/原递归、二分查找(主要是程序例子)_第15张图片

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

windows系统用time.clock( )

linux系统用time.time( )


你可能感兴趣的:(python)