python 中排序算法有哪些

发布时间:2021-07-05 14:49:52 作者:Leah
来源:亿速云 阅读:142

本篇文章为大家展示了python 中排序算法有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

python 中排序算法有哪些

伪代码

函数 冒泡排序 输入 一个数组名称为array 其长度为length     i 从 1 到 (length - 1)         j 从 0 到 (length - 1 - i)             如果 array[j] > array[j + 1]                 交换 array[j] 和 array[j + 1] 的值             如果结束         j循环结束     i循环结束 函数结束

def bubble_sorted(iterable):    new_list = list(iterable)    list_len = len(new_list)    for i in range(list_len):        for j in range(list_len - i - 1):            if new_list[j] > new_list[j + 1]:                new_list[j], new_list[j + 1] = new_list[j + 1], new_list[j]    return new_list       

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

  def selection_sort(alist):    n = len(alist)    for i in range(n-1):
       min_index = i        for j in range(i+1,n):            if alist[j] < alist[min_index]:                min_index = j                        if min_index !=i:            alist[i] ,alist[min_index] = alist[min_index] ,alist[i]    return alist
alist= [463,25,434,768,332,6657,34343,67]result=selection_sort(alist=alist) print(result)

python 中排序算法有哪些

选择排序的示例动画。红色表示当前最小值,黄色表示已排序序列,蓝色表示当前位置。

插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

python 中排序算法有哪些

 def insert_sort(alist):    for i in range(1,len(alist)):                for j in range(i,0,-1):                    if alist[j]<alist[j-1]:                alist[j],alist[j-1] = alist[j-1],alist[j]          return alist

快速排序的基本步骤是什么:

1、 判断输入参数的合法性

2、把数组的第一个数据作为比较的原点,比该数据小的数据排列在左边,比该数据大的数据排列在右边

3、按照(2)的方法分别对左边的数组和右边的数据进行和(2)一样的数据排列

def quick_sort(data):        """快速排序"""        if len(data) >= 2:  # 递归入口及出口                mid = data[len(data)//2]  # 选取基准值,也可以选取第一个或最后一个元素                left, right = [], []  # 定义基准值左右两侧的列表                data.remove(mid)  # 从原始数组中移除基准值                for num in data:                        if num >= mid:                                right.append(num)                        else:                                left.append(num)                return quick_sort(left) + [mid] + quick_sort(right)        else:                return data # 示例:array = [2,3,5,7,1,4,6,15,5,2,7,9,10,15,9,17,12]print(quick_sort(array))# 输出为[1, 2, 2, 3, 4, 5, 5, 6, 7, 7, 9, 9, 10, 12, 15, 15, 17]

上述内容就是python 中排序算法有哪些,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. Python中有哪些排序算法
  2. python3常用排序算法有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:微信小程序如何实现选项卡

下一篇:微信小程序Page中如何实现data数据操作和函数调用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》