摘要: 参考:https://www.runoob.com/w3cnote_genre/algorithm 基数排序 基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整 阅读全文
posted @ 2020-10-07 19:56 黑白猫123 阅读(580) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.runoob.com/w3cnote_genre/algorithm 桶排序 桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。为了使桶排序更加高效,我们需要做到这两点: 在额外空间充足的情况下,尽量增大桶的数量 使用的映射函数能 阅读全文
posted @ 2020-10-07 19:54 黑白猫123 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.runoob.com/w3cnote_genre/algorithm 计数排序 (1)找出待排序的数组中最大和最小的元素 (2)统计数组中每个值为i的元素出现的次数,存入数组C的第i项 (3)对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加) (4)反向填充 阅读全文
posted @ 2020-10-07 19:52 黑白猫123 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.runoob.com/w3cnote_genre/algorithm 堆排序 创建一个堆 H[0……n-1]; 把堆首(最大值)和堆尾互换; 把堆的尺寸缩小 1,并调用 shift_down(0),目的是把新的数组顶端数据调整到相应位置; 重复步骤 2,直到堆的尺寸为 阅读全文
posted @ 2020-10-07 19:50 黑白猫123 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.runoob.com/w3cnote_genre/algorithm 快速排序 从数列中挑出一个元素,称为 "基准"(pivot); 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准 阅读全文
posted @ 2020-10-07 19:48 黑白猫123 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.runoob.com/w3cnote_genre/algorithm 归并排序 申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列; 设定两个指针,最初位置分别为两个已经排序序列的起始位置; 比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并 阅读全文
posted @ 2020-10-07 19:46 黑白猫123 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.runoob.com/w3cnote_genre/algorithm 希尔排序 选择一个增量序列 t1,t2,……,tk,其中 ti > tj, tk = 1; 按增量序列个数 k,对序列进行 k 趟排序; 每趟排序,根据对应的增量 ti,将待排序列分割成若干长度为 m 阅读全文
posted @ 2020-10-07 19:06 黑白猫123 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.runoob.com/w3cnote_genre/algorithm 插入排序 将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。 从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中 阅读全文
posted @ 2020-10-07 18:52 黑白猫123 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 选择排序 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。 重复第二步,直到所有元素均排序完毕。 1、声明循环变量i,初始值为0,小于数组长度-1 2、声明临时变量min,初始值为i 3、声明循环变量j,初始值为 阅读全文
posted @ 2020-10-07 18:39 黑白猫123 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.runoob.com/w3cnote_genre/algorithm 冒泡排序 假设从前向后比较,以及按从小到大排序 1、定义变量i,初始化为1,i小于数组长度 2、定义变量j,初始化为0,j小于数组长度-i 3、比较第j与第j+1个元素,如果前者大于后者,则交换它们的 阅读全文
posted @ 2020-10-07 16:33 黑白猫123 阅读(98) 评论(0) 推荐(0) 编辑