算法
Double_Name
为了获取积分来填写这个的我也是满鄙视自己的。
展开
-
二分查找树
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35原创 2016-04-19 17:38:24 · 551 阅读 · 0 评论 -
一致性hash实现
一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法、一致性Hash算法的算法原理做了详细的解读。 算法的具体原理这里再次贴上: 先构造一个长度为232的整数环(这个环被称为一致性Hash环),根据节点名称的Hash值(其分布为[0, 232-1])将服务器节点转载 2016-04-19 20:14:38 · 713 阅读 · 0 评论 -
冒泡排序
先用代码说话: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 public static void sort(int[] array) { if (array == null || array.length 1) return;原创 2016-04-19 20:13:58 · 356 阅读 · 0 评论 -
选择排序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 public static void sort(int[] array) { int minIndex; for (int i = 0; i原创 2016-04-19 20:13:26 · 334 阅读 · 0 评论 -
插入排序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public static void sort(int[] array) { if (array.length == 0 || array.length == 1) return原创 2016-04-19 20:12:51 · 309 阅读 · 0 评论 -
希尔排序
希尔排序是以插入排序为基础的排序算法,搞懂了插入排序之后再来看希尔排序就十分简单了。 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public static void sort(int[] array) {原创 2016-04-19 20:12:18 · 348 阅读 · 0 评论 -
快速排序
快速排序也属于一种交换排序算法,排序的过程中不停地有元素交换,但是因为其在均匀分布的数据中有比较良好的排序效果,因此被广泛利用。 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21原创 2016-04-19 20:11:48 · 399 阅读 · 0 评论 -
堆排序
堆排序的核心是创建最大堆,然后对堆进行调整。整个算法的实现比较简单,如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2原创 2016-04-19 20:11:20 · 350 阅读 · 0 评论 -
归并排序
归并排序也是一种常见的排序算法,下面就让我们简单看一下归并排序的实现。 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26原创 2016-04-19 20:10:33 · 348 阅读 · 0 评论 -
动态规划
对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅读中发现有不通顺的地方,让你产生错误理解的地方,让你难得读懂的地方,请跟贴指出,谢谢!转载 2016-04-19 20:23:06 · 361 阅读 · 0 评论