目录 redis源码分析系列文章 前言 API使用 lpush左侧插入数据 rpush右侧插入数据 删除某个数据 修改某个数据 具体逻辑图 双向链表的定义 节点ListNode 整体架构 双向链表的实现 创建表头 清空表 添加元素到表头 添加元素到表尾 插入 删除 总结 redis源码分析系列文章 ...
分类:
其他好文 时间:
2020-06-08 19:29:45
阅读次数:
72
前言 在版本3.2之前,Redis 列表list使用两种数据结构作为底层实现: 压缩列表ziplist 双向链表linkedlist 默认为linkedlist 在3.2之后,由quicklist实现。 双向链表linkedlist Redis实现的是标准的双向链表。 链表节点定义: 链表定义: 总 ...
分类:
其他好文 时间:
2020-06-06 01:05:14
阅读次数:
55
常用的三种缓存淘汰(失效)算法:FIFO,LFU 和 LRU. 1 FIFO(First In First Out) 先进先出,也就是淘汰缓存中最老(最早添加)的记录。FIFO 认为,最早添加的记录,其不再被使用的可能性比刚添加的可能性大。这种算法的实现也非常简单,创建一个队列,新增记录添加到队尾, ...
分类:
其他好文 时间:
2020-06-06 00:34:53
阅读次数:
107
由于转行的原因,最近打算开始好好学习,昨天看到了部分的LinkedList源码,并且看了一点数据结构的视频,现总结部分自己的心得体会,以供后期给现在的自己拍砖~ 双向链表每一个元素都有数据本身加指向前一个元素的属性与指向后一个元素的属性。 下面对Java中LinkedList部分源码进行个人理解的分 ...
分类:
其他好文 时间:
2020-06-05 12:53:51
阅读次数:
56
一、加密程序(WannaCryptor.exe) 1.释放 ①概览 ②细节 加载资源(多个zip文件),使用开源代码解压,zip文件标志(PK…) 解压所得: b.wry (bmp) c.wry (含有一些网址,torproject等) m.wry (rtf) r.wry (txt) t.wry ( ...
分类:
其他好文 时间:
2020-06-02 13:40:10
阅读次数:
74
1 Node* pre = NULL,*cur = BULL; 2 Node* treeToDoubleyList(Node* root){//二叉搜索树中序遍历有序 3 if(root == NULL) 4 return NULL; 5 Node* dummy = new Node; 6 dumm ...
分类:
其他好文 时间:
2020-05-30 15:49:31
阅读次数:
85
题目: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 代码: 1 /* 2 struct TreeNode { 3 int val; 4 struct TreeNode *left; 5 struct TreeNode *righ ...
分类:
其他好文 时间:
2020-05-30 01:14:49
阅读次数:
57
01 1. 如图所示的二叉排序树,查找成功时的平均查找长度是( )。 A. 21/7 B. 28/7 C. 15/6 D. 21/6 答案:C 2. 在一棵平衡二叉树中,每个结点的平衡因子的取值范围是( ) 。 A. -1~1 B. -2~2 C. 1~2 D. 0~1 答案:A 3. (判断题)查 ...
分类:
其他好文 时间:
2020-05-29 23:00:23
阅读次数:
389
上接[C++基于EasyX制作贪吃蛇游戏(三)第二版文档](https://www.cnblogs.com/colourso/p/12989699.html ) ,本文是代码的实现。 ...
分类:
编程语言 时间:
2020-05-29 22:56:38
阅读次数:
69
循环链表 将单链表的形式稍作改变,不让最后一个结点的指针为NULL,而让它指向头一个结点,这样就得到了循环链表。 它的优点是:从循环链表中任一结点出发,都能访问遍所有结点。 双链表 优点:既可以方便的找前驱,也可以找后继。 双向链表 双向链表中,每个结点有两个指针域,一个指向直接后继元素结点,另一个 ...
分类:
其他好文 时间:
2020-05-28 21:36:55
阅读次数:
65