Python基数排序
1、算法步骤a.初始化i为0,表示个位排序;n为1,表示最小的位数置1;max_num为待排序数组中的最大值。b.计算最大值的位数n。c.在每一位上,构建一个桶的字典,每个桶用于存放对应位数的数字。d.对待排序数组中的每个元素,根据...
Python桶排序
1、算法步骤这段代码实现了桶排序算法。桶排序是一种分布排序算法,它的基本思想是将待排序的元素分到有限数量的桶中,每个桶再单独进行排序。具体步骤如下:a.确定待排序数组中的最小值min_num和最大值max_num。b.计算桶的大小,桶的...
Python计数排序
计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。1、算法步骤计数排序是一种非比较型的排序算法,其基本思想是统计每个元素出现的次数,然后根据统计信...
Python选择排序
1、算法步骤a.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置b.再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。c.重复第二步,直到所有元素均排序完毕。2、动图演示3、代码# 定义一个...
Python堆排序
1、算法步骤a.创建一个堆H[0……n-1];b.把堆首(最大值)和堆尾互换;c.把堆的尺寸缩小1,并调用shift_down(0),目的是把新的数组顶端数据调整到相应位置;d.重复步骤b,直到堆的尺寸为1。2、动图演示3...
Python快速排序
1、算法步骤①从数列中挑出一个元素,称为“基准”(pivot);②重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分...
Python归并排序
1、算法步骤a.申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列;b.设定两个指针,最初位置分别为两个已经排序序列的起始位置;c.比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置;d....
Python希尔排序
1、算法步骤a.选择一个增量序列t1,t2,……,tk,其中ti>tj,tk=1;b.按增量序列个数k,对序列进行k趟排序;c.每趟排序,根据对应的增量ti,将待排序列分割成若干长度为m的子序列,分别对...
Python插入排序
1、算法步骤a.将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。b.从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果...
Python冒泡排序
1、算法步骤比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的...