zhqherm

导航

2019年12月8日 #

常用排序算法(3) - 快速排序

摘要: 常用排序算法(3) 快速排序 快速排序 算法描述 快速排序,是历史上实践中最快的泛型排序算法,虽然其平均运行时间为O(n log n),而最坏情形下性能为O(n^2),但由于高度优化的内部循环,一般经过优化的快速排序不会出现这种最坏情形。快速排序也是一种分治的递归算法,它的基本步骤如下: 从无序数组 阅读全文

posted @ 2019-12-08 23:48 zhqherm 阅读(209) 评论(0) 推荐(0) 编辑

常用排序算法(2) - 堆排序,归并排序

摘要: 常用排序算法(2) 堆排序,归并排序 堆排序 算法描述 堆排序的实现就是利用优先队列的原理达到O(n log n)的复杂度进行排序。那么对于一个无序数组,首先我们要做的是建立一个二叉堆,这个阶段需要O(n)的复杂度。然后对这个已经建立好的堆进行deleteMax操作,就可以把最大元素移除放到另外一个 阅读全文

posted @ 2019-12-08 23:47 zhqherm 阅读(207) 评论(0) 推荐(0) 编辑

常用排序算法(1) - 插入排序,希尔排序

摘要: 常用排序算法(1) 插入排序,希尔排序 插入排序 算法描述 插入排序,顾名思义,就是将一个元素插入到一个有序队列里面,保持插入后队列依然保持有序。那么当我们拿到一个无序队列的时候,可以先将第一位看做是一个单元素的有序队列,然后把第二位插入这个有序队列中,随后这两个元素就变成了一个有序队列,然后重复同 阅读全文

posted @ 2019-12-08 23:38 zhqherm 阅读(182) 评论(0) 推荐(0) 编辑