引言
- 数据结构在学什么
- 对C语言掌握要求
- 数据结构三要素
- 逻辑结构
- 数据运算
- 存储结构
数据结构在学什么
- 如何把问题信息化
- 场景:现在需要将1000本不同类型的书摆放到图书馆的书架上。
- 研究问题:采取什么办法摆放?
- 方法有:
① 不管不顾从头到尾一本一本放
② 按照图书类型分门别类地摆放
- 如何高效处理问题
- 在上一步摆放的基础上,如何摆放新的图书?
- 如何快速找到,并借走一本书?
- 如何快速找到位置。并归还一本书?
数据结构要求我们研究数据(如图书)之间的关系(如相同类型),找到一种方法存储数据,并能高效地对数据实现增删改查
对C语言掌握要求
- 分支(if/else)循环(for、while)
- 数组
- 函数
- 指针、地址
- struct结构体
数据结构三要素
逻辑结构
线性结构(一对一)
树形结构(一对多)
图结构(多对多)
数据运算
基于某种逻辑结构,定义基本运算
以线性结构为例:
增 在第i个位置插入新的数据元素
删 删除第i个位置的数据元素
改 修改第i个元素
查 查找是否存在某个数据元素等于指定值
存储结构
顺序存储: 用数组
链式存储: 用链表
索引存储: 引入索引表(关键字 | 地址 )
散列存储: 用哈希表