write in front
为什么要学数据结构:
计算机专业的同学都知道数据结构是十分重要的学科,他的重要性毋庸置疑,考研需要,然而当你想阅读一些框架的源代码时,缺少它你或许理解的不够透彻。当然通往高级程序员甚至架构师大佬的道路,这些知识也是必须掌握的(出来混迟早要还的哈哈)。
研究内容
数据结构研究的是数据如何在计算机中进行组织和存储,使我们可以高效的获取数据或者修改数据。
数据结构分类
数据结构的应用举例
1 数据库
数据库的设计上使用了大量的数据结构:
- AVL,Treap,伸展树,红黑树,B树。
- 哈希表
2 操作系统的多任务切换
- 栈–系统栈 ,递归调用形成的系统栈
- 优先队列–堆,优先队列组建的堆,有了优先队列,操作系统才知道任务的优先级,来进行任务的切换。
3 文件压缩
rar 软件使用,MP3,png,MP4,pdf,等等都是对不同的文件进行压缩处理。然而压缩处理就使用了数据结构。
- 哈夫曼树(最基础的数据结构,简单的压缩方法)
4 通讯录
- 链表(早期使用,数据多时出现弊端)
- Trie 前缀树
5 游戏中寻路算法
大量的算法都是以数据结构为基石
图论算法的使用(寻路算法经典案例)
- DFS 深度优先遍历(使用栈)
- BFS 广度优先遍历(使用队列)
程序世界的定义
数据结构+算法 = 程序
数据结构是算法的基石
The end
是结束,亦是开始!