数据结构
文章平均质量分 85
一朝英雄拔剑起
又是苍生十年劫
展开
-
【深度解析】Redis 链表结构
文章目录1 Redis链表特点2 Redis链表结构2.1 双端链表节点2.2 双端链表结构2.3 双端链表迭代器3 部分API实现3.1 获取迭代器3.2 复制整个链表3.3 查找4 参考资料1 Redis链表特点链表提供了高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点 来灵活地调整链表的长度。作为一种常用数据结构,链表内置在很多高级的编程语言里面,因为Redis使用的C语言并没有内置这种数据结构,所以Redis构建了自己的链表实现。 链表在Redis中的应用非常广泛,比如列表键原创 2021-06-19 10:55:34 · 651 阅读 · 0 评论 -
链表局部翻转
链表局部翻转typedef struct listnode{ int data; struct listnode* next;}ListNode;void ReversePartList(ListNode** list, int m, int n){ ListNode* pre=NULL, *p=NULL, *q=NULL, *t=NULL,*k=NULL; int i = 1;...原创 2020-01-25 20:23:08 · 349 阅读 · 0 评论 -
数据结构之链表
链表链表是一个常用且非常有用的数据结构,比如我之前的寻找多个色块的聚类算法中便是用了单向链表来储存图像数据。先要知道什么是链表?链表的作用(为什么会使用链表)?链表的分类与特点,然后再选择一种链表来深入研究。本文就按照上述步骤来讲述链表。 1、什么是链表?地址不连续的节点序列,彼此通过指针相互连接,组成链表。 2、链表的作用(为什么要使用链表)在c语言里面,由于...原创 2018-12-26 14:15:15 · 824 阅读 · 1 评论 -
数据结构之队列
队列队列是一种常用的数据结构,最基本的特点是先进先出。1、什么是队列?队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中...原创 2018-12-27 00:15:54 · 363 阅读 · 1 评论 -
数据结构之堆栈
堆栈 堆栈是很常用的一个数据结构,最基本的特征就是先入后出,任何满足这个特征的数据结构都可以称为堆栈。 1、什么是堆栈? 其实堆栈有几种不同的定义。 ...原创 2018-12-28 01:33:29 · 575 阅读 · 1 评论 -
数据结构之二叉树
二叉树二叉树是一种常用的数据结构。1、什么是二叉树?1.1 什么是树型结构?树形结构是一层次的嵌套结构。 一个树形结构的外层和内层有相似的结构, 所以这种结构多可以递归的表示。经典数据结构中的各种树状图是一种典型的树形结构:一颗树可以简单的表示为根, 左子树, 右子树。 左子树和右子树又有自己的子树。1.2 什么是二叉树?二叉树是树型结构的最简化模型,每个节点最多有两个子节点。...原创 2018-12-31 01:04:22 · 805 阅读 · 1 评论