数据结构是程序员基本功,只可惜我是半路出家,学的又是唱戏的花架子。难得一个人清净,好好不补课。
Background
计算机 两个功能, 计算 与 存储。计算内容属于算法篇,而存储就牵扯到的数据结构。
数据存储在哪里?
CPU 寄存器 Register -> 高速缓冲存储器 Cache -> 内存RAM(random-access memory) -> 硬盘
速度不用说,一个比一个慢。
此处贴出 阮老师 博文一篇,详细解释了寄存器为什么那么快:
http://www.ruanyifeng.com/blog/2013/10/register.html
所有变成语言所谓的划分内存空间,指的 CPU 的寄存器 与 内存。
其中,指针 就是在寄存器中。
存储
即 数据持久化,存储方式多种多样,如何轻松 curd 与 遍历 成为了 永恒的话题。
方式
- 栈 stack
- 队列
- 链表 hashTable
- 矩阵 matrix
- 树 tree
- 堆 heap