![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构&算法
iteye_10833
这个作者很懒,什么都没留下…
展开
-
一致性哈希算法
前记:由于在学习redis 集群时使用到了twemproxy方案,twemproxy是以一致性哈希算法为原理进行代理多个孤立的redis 节点集成集群。所以很有必要学习下一致性哈希算法。 一、什么是一致性哈希 一致性哈希算法在1997年由麻省理工学院提出,设计目标是为了解决因特网中的热点(Hot spot)问题。初衷和CARP(Common Access Redundanc...2015-12-17 16:17:18 · 218 阅读 · 0 评论 -
排序算法(1)--冒泡排序&快速排序
已经好久没写算法了,脑袋都生锈了。。 首先排序分为四种: 交换排序: 包括冒泡排序,快速排序。 选择排序: 包括直接选择排序,堆排序。 插入排序: 包括直接插入排序,希尔排序。 合并排序: 合并排序。 本篇对交换排序进行研究。 1、冒泡排序比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换...2015-12-23 18:58:45 · 98 阅读 · 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 · 90 阅读 · 0 评论 -
数据结构&算法目录
-----------------------------排序算法-----------------------------排序算法(1)--冒泡排序&快速排序排序算法(2)--选择排序&堆排序排序算法(3)--插入排序&希尔排序排序算法(4)--归并排序 -----------------------------查找算法----------...2015-12-25 17:11:29 · 255 阅读 · 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 · 101 阅读 · 0 评论 -
排序算法(4)--归并排序
简介:归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 一、主要步骤将待排序数组[0...n-1]看成是n个长度为1的有序序列,将相邻的有序表成对归并,得到n/2个长度...2015-12-28 16:35:50 · 214 阅读 · 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 · 113 阅读 · 0 评论