递归思想实例

时间:2019-12-28 23:24:02   收藏:0   阅读:86

简述

代码实例

1)字母反转

#递归思想,递归向里面往外扩展呈现出来的也就是从里到外的
def func(str_num):
    if len(str_num) <1:
        return str_num
    return func(str_num[1:])+str_num[0]
result = func(str_num)
print result

 

2)快排

#快排算法
‘‘‘
快排利用递归思想,进行排序时间复杂度n*log2n
def kuaipai(num):
    if ...:
    piv = num[0]
    for i in range(len(num)):
        if...:
        elif..:
        else:
        more = kuaipai(da)
        less = kuaiipai(xiao)
        return more+piv+less

‘‘‘
def kuaipai(num):
    da,zhong,xiao = [],[],[]
    if len(num<)<1:
        return num
    pivo = num[0]
    for i in range(len(num)):
        if i > num[0]:
            da.append(i)
        elif i < num[0]:
            xiao.append(i)
        else:
            zhong.append(i)
        less = kuaiPai(xiao)
        more = kuaiPai(da)
        return less+zhong+more

原文:https://www.cnblogs.com/wangdadada/p/12113296.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!