1 课程介绍
1 为什么要学习数据结构?
2 数据结构分类
3 详细案例
4 课程设置
1 课程介绍
1 为什么要学习数据结构?
·数据结构是所有计算机专业的同学必学的课程
·数据结构研究的是数据如何在计算机中进行组织和存储,使得我们可以高效的获取数据或者修改数据。
我们需要根据应用的不同,灵活选择最合适的数据结构
数据结构+算法=程序
2 数据结构分类
a 线性结构
数组;栈;队列;链表;哈希表…
b 树结构
二叉树;二分搜索树;
AVL;红黑树;Treap;Splay;
堆;Trie;线段树;K-D树;
并查集;哈夫曼树;…
c 图结构
邻接矩阵;邻接表;
3 详细案例
a 数据库
如果要创造一个数据库软件,需要大量的数据结构的支持,其中最重要的数据存储知识可能是存储的树结构。
树结构:
AVL;红黑树;Treap;哈希表
b 操作系统
操作系统多任务切换
系统栈和堆的应用
操作系统那么对于多任务来说,就一个多任务之间进行切换的问题,那么为了完成这个任务的切换,就需要涉及到数据结构,最典型的需要涉及的数据结构,包括一个是栈这样的结构,另外一个就是堆这样的结构,那么对于栈这个结构将形成一个系统栈,我们在进行递归调用的时候,就需要借助系统栈这样的栈来完成的过程,而对于堆这种数据结构,则用于组建优先队列这样的一个结构,由于有了优先队列操作系统,还可以快速的在多个任务之间比较它们之间的优先级来进行这种任务的切换。
c 文件压缩
文件压缩,存储音乐用 mp3,视频用MP4等
哈夫曼树的应用
d 通讯录
线性链表 向 Trie -前缀树的转变
e 游戏
角色寻路算法
图论算法:
DFS:使用栈 深度遍历
BFS:使用队列 广度遍历
4 课程设置
面向面试的需要手写编程:
最后三个是比较复杂(代码量多一点)