![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
你家要不要小太阳
数据结构、算法、Leetcode、RS
展开
-
数组、链表、栈、队列
数组 主要了解常用的基本操作以及对应的时间复杂度 数组、队列、集合、字典 链表 常用的单链表、双向链表、循环链表 常用的基本操作及其时间复杂度 Java源码分析 链表示例 java java 跳表 空间换时间 跳跃表 为什么使用跳表而不是红黑 LRU缓存机制 ...原创 2020-03-09 17:06:54 · 136 阅读 · 0 评论 -
纯小白学数据结构——链表
1.常用场景:LRU缓存淘汰算法 1)缓存 2)缓存淘汰策略 2.链表结构 (1)链表VS数组 从底层的存储结构来看:数组需要一块连续的内存空间,比如申请一个100MB大小的数组,当内存中 没有连续的、足够大的存储空间时,会申请失败; 链表不需要连续的内存空间,通过“指针”将一组零散的内存块串联起来 (2)链表结构 (i)单链表 把内存块称为链表的“结点”,每个结点除了存储数据外,还需要记录链上的...原创 2018-12-05 16:16:01 · 274 阅读 · 0 评论 -
纯小白学数据结构——栈
1.“栈”是什么? 生活中显而易见的例子:一摞叠在一起的盘子。放盘子:从下往上一个一个放;取盘子:从上往下一个一个取,不能从中间任意抽取。即后进者先出,先进者后出。 1) 从栈的操作特性来看,栈是一种“操作受限”的线性表,只允许在一端插入和删除数据。 2)栈存在的其中一个原因是什么:首先,从功能上来说,数组或链表确实可以代表栈,但是他们有太多的操作接口,操作上的确灵活,使用时就比较不可控,自然也就...原创 2018-12-08 22:09:54 · 165 阅读 · 0 评论