标签(空格分隔): 算法学习
常见的八大排序算法:插入排序,选择排序,堆排序,快速排序,冒泡排序,归并排序,希尔排序,基数排序。其中笔者常用的排序算法:对于数据量较小通常采用插入排序,数据量较大选择快速排序,数据量较大且要求稳定性通常选择归并排序。
时间复杂度是Θ(nlgn),优于插入排序算法。
算法描述 1) 申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 2) 设定两个指针,最初位置分别为两个已经排序序列的起始位置 3) 比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置 4) 重复步骤3直到某一指针达到序列尾 5) 将另一序列剩下的所有元素直接复制到合并序列尾 特点:归并排序是稳定的排序.即相等的元素的顺序不会改变, 速度仅次于快速排序,但较稳定。
新闻热点
疑难解答