Python实现臭皮匠算法(Stooge Sort)

臭皮匠排序(Stooge Sort)是一种递归排序算法,是一种比较低效率的排序算法;

使用Python实现臭皮匠排序

def stoogesort(arr, l, h):
    if l >= h : return
    if arr[l] > arr[h]:
        t = arr[l]
        arr[l] = arr[h]
        arr[h] = t

    if h-l+1 > 2:
        t = int((h-l+1)/3)
        stoogesort(arr, l, h-t)
        stoogesort(arr, l+t, h)
        stoogesort(arr, l, h-t)
   
  
arr = [ 11 , 15 , 2 , 11 , 9 , 21 ]
print('排序前:',arr)
stoogesort(arr, 0, len(arr)-1)
   
print('排序后:',arr)

输出:

排序前: [11, 15, 2, 11, 9, 21]
排序后: [2, 9, 11, 11, 15, 21]

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/stooge-sort-in-python.html

分类: 计算机技术
推荐阅读:
Python中@property和@*.setter装饰器的详细用法 @property装饰器的作用是,将一个函数装饰成为类的一个属性,当某个属性需要动态的计算时,用@property来装饰函数最好不过了;
C语言iscntrl()函数:判断字符是否为控制字符 iscntrl()函数是C语言中的一个标准库函数,用于检查一个字符是否为控制字符;控制字符的ASCII编码有0~31、127;
从Nginx日志中提取UserAgent、IP等信息 有时我们需要用到大量UserAgent信息,而Nginx日志文件中包含了海量真实的UserAgent,从Nginx文件中提取所有UserAgent信息就很有必要;
Python breakpoint()函数 breakpoint()是 Python 3.7 中新增的一个调试工具,它是一个内置函数,可以在程序执行过程中插入一个断点,让程序停在该处等待调试器的进一步命令。
Python id()函数 id()是Python内置函数之一,用于返回给定对象的唯一标识符(即对象在内存中的地址)。具体来说,id()函数返回一个整数,该整数代表给定对象在内存中的地址。因为每个对象在内存中都有一个唯一的地址,所以id()函数返回的值也是唯一的。
Nginx隐藏和显示版本号 默认情况下,Nginx在返回Response时,会在Header中设置一个Server的参数,Server的值为web服务程序名及其版本信息;返回的404、503错误信息也会包含版本信息;因为Nginx的一些漏洞会在特定的版本中出现,暴漏的版本号就可能成为攻击者可以利用的信息;所以我们最好将版本信息隐藏。