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类的特殊方法 本教程详细介绍了Python中类的绝大多数特殊方法,通过定义和实现这些特殊方法,可以使自定义的对象具更强大的功能。
Socket error Event: 32 Error: 10053.解决方法 在使用Xshell连接服务器时,偶尔会发生这类错误:Socket error Event: 32 Error: 10053.Connection closing...Socket close.
Python len()函数 在Python中,len()函数用于返回一个对象的长度(元素个数)。这个对象可以是序列类型(如字符串、列表、元组、字节序列等),也可以是映射类型(如字典)。
PyQt:使用QVBoxLayout实现垂直布局 所谓的布局,你可以理解为窗口上控件(部件)的排版方式;使用 Layout 进行布局,窗口上的部件能随窗口大小的变化而变化;在本文中,你将掌握在Python中使用 QVBoxLayout 来进行垂直布局;
修改Visual Studio Code的主题颜色 首先,打开Visual Studio Code ,右下角有一个齿轮模样的图标,点击图标打开菜单,选择 Color Theme,你将看到如下画面:
Python 生成UUID 在Python中,可以使用uuid模块生成UUID。默认情况下,uuid.uuid4()函数会生成一个随机UUID。