摘要: 计数排序(counting sort) 计数排序并不基于元素的比较,而是一种利用数组下标来确定元素正确位置的算法。计数排序的核心在于将输入的数据值转化为键值存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序算法的时间复杂度O(n + k)(k为整数的范围)。 简单描述就是,在一个有确 阅读全文
posted @ 2019-06-26 21:07 ys一如既往 阅读(3845) 评论(0) 推荐(1) 编辑
摘要: 1、 归并排序(merge sort) 归并操作的工作原理如下: 1:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列; 2:设定两个指针,最初位置分别为两个已经排序序列的起始位置; 3:比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置; 重复步骤3 阅读全文
posted @ 2019-06-26 15:27 ys一如既往 阅读(1619) 评论(0) 推荐(0) 编辑
摘要: 快速排序(quick sort) 在每一轮挑选一个基准元素,并让其他比它大的元素移动到数列的一边,比它小的元素移动到数列的另一边。从而把数列拆解成两个部分(分治法)。 假设元素个数是n,每一轮的比较和变换,需要把数组全部元素遍历一遍,时间复杂度是O(n),平均情况下需要logn轮,则快速排序总体的平 阅读全文
posted @ 2019-06-26 11:12 ys一如既往 阅读(469) 评论(0) 推荐(0) 编辑