码迷,mamicode.com
首页 > 编程语言 > 详细

递归与二分算法

时间:2017-07-31 20:47:06      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:opened   汽车   key   for   算法   soho   src   调用   googl   

递归:在一个函数里调用这个函数本身

修给递归的最大深度

import sys
print(sys.setrecursionlimit(100000))

 递归实现三级菜单

技术分享
 1 menu = {
 2     北京: {
 3         海淀: {
 4             五道口: {
 5                 soho: {},
 6                 网易: {},
 7                 google: {}
 8             },
 9             中关村: {
10                 爱奇艺: {},
11                 汽车之家: {},
12                 youku: {},
13             },
14             上地: {
15                 百度: {},
16             },
17         },
18         昌平: {
19             沙河: {
20                 老男孩: {},
21                 北航: {},
22             },
23             天通苑: {},
24             回龙观: {},
25         },
26         朝阳: {},
27         东城: {},
28     },
29     上海: {
30         闵行: {
31             "人民广场": {
32                 炸鸡店: {}
33             }
34         },
35         闸北: {
36             火车战: {
37                 携程: {}
38             }
39         },
40         浦东: {},
41     },
42     山东: {},
43 }
44 
45 def three(dic):
46     for key in dic:
47         print(key)
48     k = input(>>>>>>>)
49     if k in dic:
50         three(dic[k])
51 three(dic)
例题详解

 

二分查找算法:

l = [2,3,5,10,15,16,18,22,26]
def find(l,aim,start,end):
    mid = (end+start)//2
    if l[mid] > aim:    #中间值大于目标值,左边寻找
        end = mid   #头部不变,
        return find(l,aim,start,end)
    elif l[mid] < aim:
        start= mid
        return find(l,aim,start,end)
    else:
        return mid
print(find(l,15,start=0,end=len(l)-1))

  

递归与二分算法

标签:opened   汽车   key   for   算法   soho   src   调用   googl   

原文地址:http://www.cnblogs.com/52-qq/p/7265236.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!