2017年5月20日
摘要: 排序算法系列 目录 概述 概念 排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。 排序分为内部排序和外部排序。 若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。 反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此 阅读全文
posted @ 2017-05-20 15:33 王小东大将军 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 排序五 简单选择排序 目录 要点 简单排序处理流程 算法分析 简单选择排序算法的性能 时间复杂度 空间复杂度 完整参考代码 JAVA版本 参考资料 相关阅读 要点 简单选择排序是一种选择排序。 选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。 阅读全文
posted @ 2017-05-20 15:23 王小东大将军 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 排序八 基数排序 目录 要点 完整参考代码 算法分析 基数排序的性能 时间复杂度 空间复杂度 算法稳定性 相关阅读 要点 基数排序与本系列前面讲解的七种排序方法都不同,它不需要比较关键字的大小。 它是根据关键字中各位的值,通过对排序的N个元素进行若干趟“分配”与“收集”来实现排序的。 不妨通过一个具 阅读全文
posted @ 2017-05-20 15:20 王小东大将军 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 排序七 归并排序 目录 要点 归并排序的基本思想 算法分析 归并排序算法的性能 时间复杂度 空间复杂度 算法稳定性 归并排序和堆排序、快速排序的比较 完整参考代码 Java版本 参考资料 相关阅读 要点 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Con 阅读全文
posted @ 2017-05-20 15:19 王小东大将军 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 排序六 堆排序 目录 堆的概念 要点 算法分析 堆排序算法的总体情况 时间复杂度 算法稳定性 完整参考代码 JAVA版本 参考资料 相关阅读 堆的概念 在介绍堆排序之前,首先需要说明一下,堆是个什么玩意儿。 堆是一棵顺序存储的完全二叉树。 其中每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为 阅读全文
posted @ 2017-05-20 15:18 王小东大将军 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 排序四 希尔排序 目录 要点 算法分析 希尔排序的算法性能 时间复杂度 算法稳定性 直接插入排序和希尔排序的比较 完整参考代码 JAVA版本 参考资料 相关阅读 要点 希尔(Shell)排序又称为缩小增量排序,它是一种插入排序。它是直接插入排序算法的一种威力加强版。 该方法因DL.Shell于195 阅读全文
posted @ 2017-05-20 15:15 王小东大将军 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 排序三 直接插入排序 目录 要点 算法分析 直接插入排序的算法性能 时间复杂度 空间复杂度 算法稳定性 完整参考代码 JAVA版本 参考资料 相关阅读 要点 直接插入排序是一种最简单的插入排序。 插入排序:每一趟将一个待排序的记录,按照其关键字的大小插入到有序队列的合适位置里,知道全部插入完成。 在 阅读全文
posted @ 2017-05-20 15:09 王小东大将军 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 排序二 快速排序 目录 要点 算法分析 快速排序算法的性能 时间复杂度 空间复杂度 算法稳定性 完整参考代码 JAVA版本 参考资料 相关阅读 要点 快速排序是一种交换排序。 快速排序由C. A. R. Hoare在1962年提出。 它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分:分割 阅读全文
posted @ 2017-05-20 15:08 王小东大将军 阅读(244) 评论(0) 推荐(0) 编辑