
算法
九月清晨_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从 n个长度的序列中找出前 m大个元素
1. 基本思路 利用优先队列的特性(堆序), 在构建出 max堆(大顶堆)之后, 不断将堆顶的元素移除, 就能很轻松的获取前 m个最大的元素. 2. 代码演示 public class SortDemo { public static void main(String[] args) { int[] arr = new int[] {1, 2, 3, 4, 5, 7,...原创 2018-07-10 22:26:02 · 969 阅读 · 0 评论 -
找出一个序列中第k大的元素 [快速选择问题]
找出一个序列中第 k大的元素值原创 2018-07-10 14:29:57 · 1046 阅读 · 0 评论 -
选择排序算法分析
选择排序 1. 基本思想 2. 过程演示 3. 代码实现 4. 复杂度分析 5. 总结原创 2018-07-09 22:14:51 · 368 阅读 · 0 评论 -
冒泡排序算法分析
冒泡排序 1. 基本思想 冒泡排序的基本思想: 对于待排序数列, 依次比较相邻元素, 若顺序相反, 则交换位置, 重复此步骤直至完成排序. 2. 过程演示 以 [5, 4, 3, 2, 1] 来演示整个排序过程 原始序列: 5, 4, 3, 2, 1 第一趟排序: 4, 5, 3, 2, 1 4, 3, 5, 2, 1 ...原创 2018-07-09 21:50:28 · 549 阅读 · 0 评论 -
Java排序算法 [快速排序]
package cn.com.dom4j.sort; public class QuickSort { /** 快速排序 在 Java中, 快速排序被用作基本数据类型的排序 (当然, 不只快速排序一种) 快速排序是实践中的一种快速的排序算法, 在 C++或对 Java基本类型的排序证特别有用. 它的平均运行时间是 O(N lo...原创 2018-04-06 16:45:03 · 252 阅读 · 0 评论 -
Java排序算法 [归并排序]
package cn.com.dom4j.sort; import java.util.Arrays; public class Test2 { /** 归并排序 这个算法的基本操作是合并两个已排序的表. 因为这两个表示已排序的, 所以若将输出放到第三个表中, 则该算法可以通过一趟排序来完成 1. 合并两个已排序的表的时间显然是线性的, 因为...原创 2018-04-06 10:42:28 · 231 阅读 · 1 评论 -
Java排序算法 [堆排序]
package cn.com.dom4j.sort; import java.util.Arrays; public class Test2 { /** * 堆排序 */ public static <AnyType extends Comparable<? super AnyType>> void heapSort(AnyType...原创 2018-04-05 11:38:33 · 217 阅读 · 1 评论 -
快速排序算法分析
1. 主要思路 2. 过程演示 3. 代码演示 public class QuickSort { /** 快速排序 在 Java中, 快速排序被用作基本数据类型的排序 (当然, 不只快速排序一种) 快速排序是实践中的一种快速的排序算法, 在 C++或对 Java基本类型的排序证特别有用. 它的平均运行时间是 O(N l...原创 2018-07-10 22:42:36 · 290 阅读 · 0 评论