1. 数据结构
什么是数据、数据元素、数据项、数据对象、数据类型?
数据:万物都是数据,数据就是能输入计算机和被程序处理的符号
数据元素:数据元素是数据的基本单位;是具体的数据;每一个学生的信息就是一个数据元素
数据项:一个数据元素由若干个数据项构成;学生的姓名、学号等都是学生信息数据元素的一个数据项
数据对象:具有相同性质的数据元素的集合,是数据的一个子集;例如:整数数据对象,字符数据对象,学生数据对象
数据类型:表示同一数据对象及其在该数据对象上的一组操作的总称;数据对象+操作
数据结构:
1. 逻辑结构:
线性结构:顺序表,链表,栈,队列,广义表,串,数组,文件
非线性结构:树,图,集合
2. 存储结构:
顺序存储:在计算机中开辟一块连续的存储单元顺序存放数据的各个元素
链式存储:将数据和反应元素顺序关系的地址一块存储在计算机内,借助元素地址指针表示元素的逻辑关系
索引存储:
散列存储:
从逻辑结构到存储结构称为映像;
同一逻辑结构采用不同的存储结构存储就会得到不同的数据结构,这是因为映像变了,使结构有了改变
3. 运算及实现
数据运算是定义在数据的逻辑结构上的运算
但是运算的实现要在相应的存储结构上进行
常用的运算:
检索、插入、删除、更新、排序等
举例:
考勤管理系统:
1. 数据:员工信息、考勤信息…,数据库
2. 数据对象:员工 Object,数据库的表
3. 数据类型:员工(数据对象[姓名、工号] + 操作[打卡…])属性+方法,数据库表及其操作
4. 数据元素:具体的每一条记录,数据库表中的一条记录
5. 数据项:员工.姓名:张三,Property,数据库的一个字段
2. 数组
把具有相同性质的一组元素(数据对象)组织在一起,形成数组结构;数组是一个线性的、均匀的、元素可以随机访问的数据结构
1. 数组元素的个数固定,逻辑关系由数组元素的序号(下标)来体现
2. 元素具有相同的结构(基类型相同)
3. 下标具有上下界约束,下标有序,下标与数组元素的对应关系使得数组元素可以随机访问
运算操作:
赋值(写)
读取(读)
3. 串
串(字符串):由零个或多个字符组成的有限序列
串的运算:
赋值
复制
比较
求串长
串连接
求子串
串插入
串删除
子串定位(模式匹配)
子串替换
串的定长顺序存储:
串的堆式动态存储:
申请一个大内存,建立映射表,将每个串的起始位子的长度写入映射表