
数据结构&算法
iteye_10833
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一致性哈希算法
前记:由于在学习redis 集群时使用到了twemproxy方案,twemproxy是以一致性哈希算法为原理进行代理多个孤立的redis 节点集成集群。所以很有必要学习下一致性哈希算法。 一、什么是一致性哈希 一致性哈希算法在1997年由麻省理工学院提出,设计目标是为了解决因特网中的热点(Hot spot)问题。 初衷和CARP(Common Access Redundanc...2015-12-17 16:17:18 · 290 阅读 · 0 评论 -
排序算法(1)--冒泡排序&快速排序
已经好久没写算法了,脑袋都生锈了。。 首先排序分为四种: 交换排序: 包括冒泡排序,快速排序。 选择排序: 包括直接选择排序,堆排序。 插入排序: 包括直接插入排序,希尔排序。 合并排序: 合并排序。 本篇对交换排序进行研究。 1、冒泡排序 比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换...2015-12-23 18:58:45 · 170 阅读 · 0 评论 -
排序算法(2)--选择排序&堆排序
继续上篇的交换排序--冒泡排序&快速排序,本篇介绍选择排序和堆排序 一、选择排序 非常的简单直观,每次找出最小或者最大的值存储起来,继续找剩下的值存储起来,直达最后一个元素。 从arr[0]~arr[N]中找出最小的值,放在arr[0],此时arr[0]已经排好序 从arr[1]~arr[N]中找出最小的值,放在arr[1], ....从arr[i]~arr[N]中...2015-12-25 17:07:50 · 118 阅读 · 0 评论 -
数据结构&算法目录
-----------------------------排序算法----------------------------- 排序算法(1)--冒泡排序&快速排序 排序算法(2)--选择排序&堆排序 排序算法(3)--插入排序&希尔排序 排序算法(4)--归并排序 -----------------------------查找算法----------...2015-12-25 17:11:29 · 276 阅读 · 0 评论 -
排序算法(3)--插入排序&希尔排序
一、插入排序 (1)、主要思路: 假设数组分为两部分,有序部分【0~i-1】,无序部分【i~N】。初始有序部分只有一个元素。 从有序部分【0~i-1】中找到一个值小于(或大于)数组【i】的位置,即为将要排序的数据 把数组【i】插入到适当的位置,其他的数据往后转移 (2)、代码实现: public void sort(int[] arr) { for(int i=...2015-12-26 21:09:41 · 158 阅读 · 0 评论 -
排序算法(4)--归并排序
简介:归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 一、主要步骤 将待排序数组[0...n-1]看成是n个长度为1的有序序列,将相邻的有序表成对归并,得到n/2个长度...2015-12-28 16:35:50 · 252 阅读 · 0 评论 -
查找算法(1)--二分查找
简介: 二分查找算法是针对有序数组进行查找某个元素的算法,时间复杂度为Ο(logn) 。 一、主要步骤 有序数组arr(假设从小到大),待查找元素x (1)、直接从中间一个元素开始找,mid = (0+arr.length)/2 (2)、如果arr[mid]大于x,说明目标索引在mid索引的左半边,把左边当作一个完整的数组继续查找 (3)、如果arr[mid]小于x,说明目标索...2015-12-28 17:51:28 · 166 阅读 · 0 评论