python 快速排序实现
短信预约 -IT技能 免费直播动态提醒
- import random
- num_list = []
- for x in range(30):
- num_list.append(random.randint(1, 500))
- list_len = len(num_list)
- print(list_len)
- def quick_sort(array, begin, end):
- # (1) 104, 17, 510,30,100 这是用来说明的例子,请按前面的序号阅读
- # i j
- if begin < end:
- i, j = begin, end
- # 设置临时基准
- temp = array[i]
- # --------------------------------------------
- while i < j:
- # 如果列表后边的数,比基准数大或相等,j则前移一位,直到出现第一个比基准数小的数
- while (i < j) and (array[j] >= temp):
- j = j - 1
- # 找到后把第j个元素赋值给第i个元素
- array[i] = array[j] # (2)100,17,510,30,100 (4)100, 17, 30, 30, 510
- # i j i j <-- j
- # 若前边的数比基准数小或相等,i则后移一位,直到出现第一个比基准数大的数
- while (i < j) and (array[i] <= temp):
- i = i + 1
- array[j] = array[i] # (3)100,17,510, 30,510 (5) 00,17,30, 30, 510
- # i --> i j i-->ij
- # ---------------------------------------------
- # 做完第一轮while比较之后,list被分成了两个list,且i=j
- array[i] = temp # (6)100,17,30,104,510 这是第一轮结束之后的情况.
- # ij
- # 此时,以第一轮选择的temp为分割点,分成两个list.左边list里的项都比temp小,右边list里的项都比temp大
- # 递归前后半区
- quick_sort(array, begin, i - 1)
- quick_sort(array, j + 1, end)
- return array
- print("The sorted result is : ")
- quick_sort(num_list, 0, len(num_list)-1)
- print(num_list)
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
python 快速排序实现
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
python实现快速排序
def sortList(alist): alen = len(alist) if alen == 0: return alist if alen > 0: aitem = alist[alen
2023-01-31
python 快速排序实现
import random num_list = []for x in range(30): num_list.append(random.randint(1, 500))list_len = len(num_list)print(l
2023-06-02
快速排序python实现
快速排序快速排序的实现同样使用分治法,它的原理是从序列中选择一个值作为基准值,然后分成比基准值小的序列集合和比基准值小的序列集合和与基准值相等的序列集合。再将比基准值小的序列集合和比基准值小的序列集合再次进行选择基准值分割,最后再从下到上每
2023-01-31
Python如何实现快速排序
这篇文章主要介绍“Python如何实现快速排序”,在日常操作中,相信很多人在Python如何实现快速排序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python如何实现快速排序”的疑惑有所帮助!接下来,请跟
2023-06-04
python中怎样实现快速排序
这篇文章将为大家详细讲解有关python中怎样实现快速排序,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。def quicksort(array): less = [];greater =
2023-06-04
快速排序的四种python实现
快速排序算法,简称快排,是最实用的排序算法,没有之一,各大语言标准库的排序函数也基本都是基于快排实现的。本文用python语言介绍四种不同的快排实现。1. 一行代码实现的简洁版本quick_sort = lambda array: arra
2023-01-31
用Python怎么实现快速排序
用Python实现快速排序的方法:1、定义一个名为quick_sort的函数,使用递归的方法来实现快速排序;2、检查数组的长度,如果长度小于等于1,则直接返回数组,否则,选择数组中的第一个元素作为枢纽元素(pivot),然后将数组分成比枢纽
2023-12-18
python 三行代码实现快速排序
python 三行代码实现快速排序最近在看 python cookbook , 里面的例子很精彩,这里就帮过来,做个备忘录主要利用了行数的递归调用和Python的切片特性,解释一下每行代码的含义:第1行: #coding:utf-8 指定
2023-01-31
2023-09-02
python快速排序算法怎么实现
快速排序是一种常用的排序算法,其算法思想是通过递归地将数组分为较小和较大的两个子数组,然后不断重复这个过程,直到整个数组有序。下面是用Python实现的快速排序算法:```pythondef quick_sort(arr):if len(a
2023-08-15
快速排序的算法思想及Python版快速排序的实现示例
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。
1.分治法的基本思想
分治法的基本思想是:将原问题分解为若干个规模更小但结构
2022-06-04
Python3实现快速排序、归并排序、堆
# -*- coding: utf-8 -*-# @Time : 2019-03-26 16:46# @Author : Jayce Wong# @ProjectName : leetcode# @FileNa
2023-01-31
Python实现快速排序算法及去重的快速排序的简单示例
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用。
该方法的基本思想是:
1.先从数列中取出一个数作为基准数。
2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
3.再对左右
2022-06-04
2024-04-02
Python中怎么实现快速排序算法
Python中怎么实现快速排序算法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python实现快速排序算法快速排序算法是一种基于交换的高效的排序算法,由C.R.A.Hoare
2023-06-02
web如何实现快速排序
这篇文章主要为大家展示了“web如何实现快速排序”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“web如何实现快速排序”这篇文章吧。快速排序是对冒泡排序的一种改进。它的基本思想是:通过一次排序将要
2023-06-27
C语言实现快速排序
快速排序不一定是稳定排序,这篇文章主要为大家详细介绍了C语言实现快速排序算法,具有一定的参考价值,感兴趣的同学可以借鉴阅读
2023-05-14
2024-04-02
php怎么实现快速排序
快速排序是一种基于分治思想的排序算法,可以用PHP实现如下:function quickSort($arr) {$length = count($arr);if ($length <= 1) {return $arr;}$pivot_ke
2024-03-15
python实现快速排序的方法是什么
快速排序是一种高效的排序算法,其基本思想是通过一趟排序将待排序的数据分割成独立的两部分,其中一部分数据比另一部分数据小,然后再分别对这两部分数据进行排序,重复这个过程直到整个序列有序。Python实现快速排序的方法如下:```pythond
2023-08-18