zoukankan      html  css  js  c++  java
  • 递归与二分算法

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

    修给递归的最大深度

    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))
    

      

  • 相关阅读:
    JAVA设计模式---总述篇
    Java中对象创建时的内存分配
    for循环打印空心菱形的新方法
    springcloud2.X通过actuator加载配置无效问题
    golang-错误处理
    golang-字符串
    golang-方法和接口
    golang-结构体与指针
    golang-数组、切片、映射
    golang-流程控制
  • 原文地址:https://www.cnblogs.com/52-qq/p/7265236.html
Copyright © 2011-2022 走看看