![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
数据结构与算法
晓寒风骤
这个作者很懒,什么都没留下…
展开
-
数据结构(三):Redis 跳跃表
结果测试 在跳跃表结果 总结 什么是跳跃表* 跳跃表是一种有序的数据结构,它通过在每个节点中维持多个指向其他的几点指针,从而达到快速访问队尾目的。跳跃表的效率可以和平衡树想媲美了,最关键是它的实现相对于平衡树来说,代码的实现上简单很多。 跳跃表用在哪 说真的,跳跃表在 Redis 中使用不是特别广泛,只用在了两个地方。一是实现有序集合键,二是集群节点中用作内部数据结构。 跳跃表...原创 2020-03-11 19:33:23 · 282 阅读 · 0 评论 -
数据结构(二):跳表java实现
package com.ljd.skiplist; import java.util.ArrayList; import java.util.List; import java.util.Random; /** * Created by author on 2017/10/9. * 实现跳跃表:能够对递增链表实现logN的查询时间 */ public class SkipList<...原创 2020-03-10 11:12:11 · 352 阅读 · 0 评论 -
数据结构(一):跳表
敲黑板: 每级遍历 3 个结点即可,而跳表的高度为 h ,所以每次查找一个结点时,需要遍历的结点数为3*跳表高度,所以忽略低阶项和系数后的时间复杂度就是 ○(㏒n),空间复杂度是O(n) 数据结构 实现原理 key查询方式 查找效率 存储大小 插入、删除效率 Hash 哈希表 支持单key 接近O(1) 小,除了数据没有额外的存储...原创 2020-03-10 10:46:05 · 1556 阅读 · 0 评论 -
算法(二):一致性哈希算法的原理与实现
1 概述 1.1 传统哈希(硬哈希) 分布式系统中,假设有 n 个节点,传统方案使用 mod(key, n) 映射数据和节点。 当扩容或缩容时(哪怕只是增减1个节点),映射关系变为 mod(key, n+1) / mod(key, n-1),绝大多数数据的映射关系都会失效。 1.2 一致性哈希(Consistent Hashing) 1997年,麻省理工学院(MIT)的 David Karger...原创 2019-12-09 17:49:20 · 406 阅读 · 0 评论 -
算法(一):排序算法
0、排序算法说明0.1排序的定义 对一序列对象根据某个关键字进行排序。 0.2 术语说明 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行; 时间复杂度:一个算法执行所耗费...原创 2019-08-14 11:04:53 · 190 阅读 · 0 评论