算法与笔记
文章平均质量分 53
jianguotang
这个作者很懒,什么都没留下…
展开
-
插入排序与优化笔记
下面的方法中是属于插入排序,但是因为其调用的是交换函数,每次都进行交换就会耗费更高的资源 public static void sort(Comparable[] arr){ int n = arr.length; for (int i = 0; i < n; i++) { // 寻找元素arr[i]合适的插入位置 // 写法原创 2017-10-10 08:05:30 · 287 阅读 · 0 评论 -
归并排序
public class MergeSort{ // 我们的算法类不允许产生任何实例 private MergeSort(){} // 将arr[l...mid]和arr[mid+1...r]两部分进行归并 private static void merge(Comparable[] arr, int l, int mid, int r) { Compara原创 2017-10-10 22:50:36 · 679 阅读 · 0 评论 -
快速排序实现以及优化
SortTestHelper为辅助类,在我插入排序那篇文章有 SOrtTestHelPer快速排序原理:假设我们现在对“6 1 2 7 9 3 4 5 10 8”这 10 个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,这就是一个用来参照的数,待会儿你就知道它用来做啥了)。为了方便,就让第一个数 6 作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放在 6原创 2017-10-11 14:08:48 · 460 阅读 · 0 评论 -
堆的插入删除实现和优化
堆的插入的时候实在树的最下面插入。例如 97 / \ 95 69 / \ / \ 65 67 26 26 / \ / \ / \ / \ 10 65 67 在该树中,插入一个新的数据的原创 2017-10-12 08:17:17 · 425 阅读 · 0 评论