数据结构与算法
文章平均质量分 94
等一杯咖啡
未曾踏足山巅,时常坠落低谷,前者追逐梦想,后者受益良多...
展开
-
排序——初级排序算法
I. Compare接口Java中提供了 Compare 接口来给我们自定义的数据类型定义排序规则,Compare 接口的定义如下,实现该接口需要重写 compareTo 方法来定义目标类型对象的自然次序。public interface Comparable<T> { public int compareTo(T o);}Java中封装的数字类型 Integ...原创 2018-08-30 17:31:20 · 308 阅读 · 0 评论 -
排序——归并与快速排序
I. 归并排序归并排序思想将数组一分为二(折半);分别将两部分数组进行排序;将排序好的两部分数组进行合并成新的有序数组。动态图演示 算法实现利用分治算法,自顶向下的进行递归排序。动态图演示则为自下往上的排序演示。public static void main(String[] args) { int[] array = {53, 34, 32, ...原创 2018-09-07 15:24:55 · 1033 阅读 · 0 评论 -
排序——堆排序和TopK
前言堆排序与TopK的问题,面试中还是经常问的,索性也整理一下。下面是徒手写的,供参考.堆排序public void heapSort(int[] array) { // 先构造一个大顶堆 int N = array.length - 1; for (int i = (N - 1) / 2; i >= 0; i--) { sink(array, i, N); } // ...原创 2019-04-02 10:56:54 · 2309 阅读 · 0 评论