数据结构分析
对常见数据结构介绍
编程初学者z
这个作者很懒,什么都没留下…
展开
-
redis中的Zset原理
redis中的Zset原理1.Zset2.redis中的zset为什么不使用红黑树而使用跳跃表3. 跳跃表的实现3.1 跳跃表的查询3.2 插入3.3 删除1.Zsetredis中有一个非常重要的数据结构,那就是Zset。它是一个有序集合,也就是说存储的数据是有序的。说到有序集合,很容易就能想到二叉搜索树,比如AVL树、红黑树、B树、B+树这些数据结构。而Zset底层使用的是什么数据结构呢,其实zset使用的是跳跃表(skipList)的数据结构。什么是跳跃表?它其实是一种随机化的数据结构,一个多原创 2020-06-26 16:00:03 · 8994 阅读 · 0 评论 -
布隆过滤器
布隆过滤器1. 什么是布隆过滤器2.如何实现2.1 原理2.2 实现3. redis中使用布隆过滤器1. 什么是布隆过滤器布隆过滤器实际上是一种特殊的数据结构,它能够在海量的数据中查询一个给定的数据是否存在其中。比如:从1亿的数据中,查询100个数据。这种情况下就可以使用布隆过滤器。此外,布隆过滤器经常用于解决redis的缓存穿透的问题。什么是缓存穿透?就是在高并发的情况下,要查询的某个字段既不存在于redis缓存中,在数据库中也没有,这样所有的请求瞬间全部落在数据库上,导致数据库崩溃。而原创 2020-06-24 21:39:37 · 271 阅读 · 0 评论 -
基本的数据结构与实现
一 链表java中有很多集合类底层都是通过链表来实现的。所以我们必须得掌握链表的数据结构。1. 线性表线性表的两种存储结构:顺序存储结构和链式存储结构。• 顺序存储结构:用一段地址连续的存储单元依次存储线性表的数据元素。• 链式存储结构:地址可以连续也可以不连续的存储单元存储数据元素2. 单链表对于链表,里面主要有几个重要的信息,对于每一个节点(比如上一节讲到的A,B,C三处)都...原创 2020-04-10 21:56:05 · 430 阅读 · 0 评论 -
八种常见的排序算法
1. 算法复杂度计算2.1 首先看时间复杂度:想要了解时间复杂度,就需要先了解时间频度。一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。接下来就引入了时间复杂度的概念。看一下比较官方的定义吧:一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数...原创 2020-04-10 20:21:29 · 1017 阅读 · 0 评论
分享