排序方法
韩绘锦
苟有恒何必三更灯火五更鸡,最无益莫过一日曝十日寒。
展开
-
排序方法&最小生成树
冒泡排序简单地说就是两层循环,第一次循环每循环一次就找到一个最大的排到列表的尾部(通过第二层循环里面不停的交换),这样第一次循环循环数组的长度次数,就可得到一个排序好的数组。def bubbleSort(input_list): n=len(input_list) if n==0: return [] sorted_list=input_list for i in range(n-1): bChanged=False pr原创 2020-08-07 23:47:16 · 462 阅读 · 0 评论 -
基数排序
基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。1.将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。2.从最低位开始,依次进行一次排序。3.这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列def Radix...原创 2020-01-28 22:09:38 · 381 阅读 · 0 评论 -
归并排序
归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。def MergeSort(input_list): def merge (input_list,left,mid,right,temp): i=left j=mid+1 k=0 while i&l...原创 2020-01-26 22:34:29 · 82 阅读 · 0 评论 -
堆排序
堆排序是一种选择排序。选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。def HeadSort(input_list): def HeadAdjust(input_list,parent,length): temp=input_list[parent] child=2*parent+1 ...原创 2020-01-23 23:34:00 · 120 阅读 · 0 评论 -
简单选择排序
遍历一遍数组,每趟排序中,将当前第 i 小的元素放在位置 i 上。def SelectSort(input_list): if len(input_list)==0: return [] sorted_list=input_list length=len(input_list) for i in range(length): mi...原创 2020-01-21 00:18:54 · 151 阅读 · 0 评论 -
快速排序
快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分:分割点左边都是比它小的数,右边都是比它大的数。然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。def QuickSort(input_list,left,right): def division(input_list,left,right): bas...原创 2020-01-14 23:14:46 · 108 阅读 · 0 评论 -
希尔排序
希尔排序希尔(Shell)排序又称为缩小增量排序,它是一种插入排序。它是直接插入排序算法的一种威力加强版。希尔排序,也称递减增量排序算法,以其设计者希尔(Donald Shell)的名字命名,该算法由 1959 年公布。def shellSort(input_list): length=len(input_list) if length<=1: retu...原创 2020-01-14 18:08:12 · 320 阅读 · 0 评论 -
直接插入排序
直接插入排序就是先从头到后面遍历一遍,然后对于每一个都遍历这个元素之前的元素使其插入到合适的位置,由于是从头往前遍历所以该元素之前的元素本身已经是排序好的元素了,我们需要做的事情只是将该元素插入合适的位置。def insertSort(input_list): if len(input_list)==0: return [] sorted_list=input_l...原创 2020-01-13 22:23:52 · 136 阅读 · 0 评论 -
排序——冒泡排序
简单地说就是两层循环,第一次循环每循环一次就找到一个最大的排到列表的尾部(通过第二层循环里面不停的交换),这样第一次循环循环数组的长度次数,就可得到一个排序好的数组。def bubbleSort(input_list): n=len(input_list) if n==0: return [] sorted_list=input_list for ...原创 2020-01-08 20:30:56 · 109 阅读 · 0 评论