- 数据结构基本概念和术语
概论1.1基本概念和术语1.1.1基本概念计算机处理的的是数值性数据,当计算机处理用户信息表中的数据的时候,需要弄清3个问题1.数据的逻辑结构数据之间存在怎样的内在联系,数据中,有且只有一个是首节点/尾结点,其他节点有且只有一个相邻的位于它之前和之后的结点2.数据的存储结构......
- Redis数据结构ZipList详解、ZipList的连锁更新问题
ZipListZipList是一种特殊的“双端链表”,由一系列特殊编码的连续内存块组成。可以在任意一端进行压入/弹出操作,并且该操作的时间复杂度为O(1)。属性类型长度用途zlbytesuint32_t4字节记录整个压缩列表占用的内存字节数zltailuint32_t4字节记录压缩列表表尾节点距离压......
- Redis数据结构:动态字符串SDS、Intset、Dict详解
动态字符串:我们都知道Redis中保存的Key是字符串,value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。不过Redis没有直接使用C语言中的字符串,因为C语言字符串存在很多问题:获取字符串长度的需要通过运算非二进制安全不可修改Redis构建了一种新的......
- 二叉树遍历
二叉树的遍历是二叉树操作中的一个基本且重要的概念,它指的是按照一定的规则访问二叉树中的每个节点,并且每个节点仅被访问一次。常见的二叉树遍历方式有四种:前序遍历(Pre-orderTraversal)、中序遍历(In-orderTraversal)、后序遍历(Post-orderTraversal)和层序遍历(Level-orderTrave......
- 数据结构(一)
目录1. 链表(LinkedList)链表的基本类型链表的基本操作链表的C语言实现示例(单向链表)链表的时间复杂度链表的空间复杂度2.栈(Stack)栈的基本操作栈的实现栈的应用场景示例:中缀表达式转后缀表达式(逆波兰表达式)3.队列队列应用场景1. 链表(LinkedList)链表是一......
- 数据结构
数据结构莫队intn,m;/*====================*/intS;structQuery{ intl,r,idx; Query(int_l=0,int_r=0,int_idx=0) { l=_l,r=_r,idx=_idx; } friendbooloperator<(constQuery&a,constQuery&b) { return(a.l/S==b.l......
- 【数据结构】TreeMap和TreeSet
目录前言TreeMap实现的接口内部类常用方法TreeSet实现的接口常用方法前言Map和set是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。一般把搜索的数据称为关键字(Key),和关键字对应的称为值(Value),将其称之为Key-value的键值对。......
- 知识改变命运 数据结构【顺序表】
1.线性表线性表(linearlist)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组......
- 【二叉树进阶】--- 二叉搜索树转双向链表 && 最近公共祖先
Welcometo9ilk'sCodeWorld (๑•́₃•̀๑) 个人主页: 9ilk(๑•́₃•̀๑) 文章专栏: 数据结构本篇博客我们继续了解一些二叉树的进阶算法。......
- 高阶数据结构(Java):AVL树插入机制的探索
目录1、概念1.1什么是AVL树2.1平衡因子3、AVL树节点的定义4、AVL树的插入机制4.1初步插入节点4.2更新平衡因子4.3 提升右树高度4.3.1右单旋4.3.2左右双旋4.4 提升左树高度4.4.1左单旋 4.4.2右左双旋5、AVL树的验证6、AVL树的删除1、概念1.1什......