随笔分类 -  数据结构

数据结构的相关学习笔记
摘要:树堆(Treap) 在某些极端情况下,二叉查找树有可能退化为链表,所以前辈们想尽了各种优化策略,这就涉及到二叉树的自平衡。二叉树的自平衡方式有多种,如红黑树、AVL等,包括今天要讲的树堆(Treap)。 一、树堆的特性和原理 树堆是一种随机化平衡二叉搜索树,结合了二叉堆和二叉查找树的特性(Treap 阅读全文
posted @ 2024-04-21 11:43 欢乐豆123 阅读(17) 评论(0) 推荐(0) 编辑
摘要:Redis zset 底层结构 概要 在 Redis 的五种主要数据类型中,zset(有序集合)类型可能是最复杂,但也是最强大的一种。zset 不仅可以存储键值对,还可以为每个元素分配一个分数,然后根据这个分数进行排序。这使得 Zset 非常适合用于实现排行榜、时间线等功能。 一、Zset底层结构 阅读全文
posted @ 2024-03-15 09:55 欢乐豆123 阅读(526) 评论(0) 推荐(0) 编辑
摘要:ConcurrentHashMap的介绍 概要 在前面的文章《散列表》中,我们对HashMap进行了介绍。但是,在并发环境下,HashMap 存在线程安全问题,可通过 HashTable 或者 Collections.synchronizedMap 解决,但它们会对整个集合加锁,影响性能。为了兼顾线 阅读全文
posted @ 2024-03-07 17:23 欢乐豆123 阅读(41) 评论(0) 推荐(0) 编辑
摘要:散列表 概要 散列表也叫哈希表(hash table),是存储Key-Value映射的集合。对于某一个Key,散列表可以在接近O(1)的时间内进行读写操作。 散列表在本质上也是一个数组,可以根据下标,进行元素的随机访问。 下面这个table就是散列表: 一、散列表的一些基本概念 1. 哈希函数 散列 阅读全文
posted @ 2024-03-06 20:32 欢乐豆123 阅读(19) 评论(0) 推荐(0) 编辑
摘要:散列冲突(哈希碰撞)的解决办法 相关概念 哈希算法(散列函数) 哈希算法(散列算法)是信息存储和查询所用的一项基本技术,它是一种基于Hash函数的文件构造方法,可实现对记录的快速随机存取。它把给定的任意长关键字映射为一个固定长度的哈希值,一般用于鉴权、认证、加密、索引等。其主要优点是运算简单,预处理 阅读全文
posted @ 2021-08-31 22:23 欢乐豆123 阅读(2287) 评论(0) 推荐(0) 编辑
摘要:为什么 MongoDB 选择B树,MySQL选择B+树? 我们知道,Mongodb索引使用B树,而MySQL使用B+树。那么这两者的区别是什么? 注意:这里的Mysql指的是Innodb的存储引擎下的索引结构,其他存储引擎暂不考虑。 一、B树 具体结构: B树单一节点拥有的最多子节点数量,称为B树的 阅读全文
posted @ 2021-07-12 19:28 欢乐豆123 阅读(211) 评论(0) 推荐(0) 编辑
摘要:数据结构-队列 应用 日常生活中,电脑里面的操作系统以及像移动联通中的客服系统,都是应用了一种数据结构来实现刚才提到的先进先出的排队功能,这就是队列。 定义 队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(First In First Out)的线性 阅读全文
posted @ 2021-03-25 12:41 欢乐豆123 阅读(459) 评论(0) 推荐(0) 编辑
摘要:线性表的链式存储结构 顺序存储结构不足的解决办法 从上面可以看出,线性表的顺序存储结构,最大的缺点就是插入和移除时需要移动大量元素,这显然就需要耗费时间。链式存储结构就是为了弥补顺序存储结构在效率上的问题。 线性表链式存储结构 1. 线性表链式存储结构的定义 线性表的链式存储结构的特点是用一组任意的 阅读全文
posted @ 2021-03-01 10:28 欢乐豆123 阅读(1243) 评论(0) 推荐(0) 编辑
摘要:线性表的顺序存储结构 相关概念 举个栗子: 大学的时候,宿舍有一个同学,帮大家去图书馆占座。他每次去图书馆,挑一个好地儿,把他书包里的书,一本一本按座位放好,若书不够,再把水杯,水笔都用上,长长一排,九个座硬是被他占了。 1. 顺序存储的定义 线性表的顺序存储结构,指的是用一段地址连续的存储单元依次 阅读全文
posted @ 2021-02-24 18:35 欢乐豆123 阅读(1243) 评论(0) 推荐(0) 编辑
摘要:线性表初识 线性表是最常用和最简单的一种结构,它是学好其他数据结构比如栈、队列的基础。 先举个栗子: 幼儿园为了保障小朋友的安全,避免漏掉小朋友,给他们安排了出门的次序,事先规定好,谁在谁的前面,谁在谁的后面。这样养成习惯后,如果谁没有到位,他前面和后面的小朋友就会主动报告老师,某人不在。 一、线性 阅读全文
posted @ 2021-02-23 13:09 欢乐豆123 阅读(82) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示