一、数据结构的基本概念和算法
1. 数据结构的基本概念
1)数据
定义:
所有能输入到计算机中描述客观事物的符号,包括文本、声音、图像、符号等
示例: 微信发送的文字、声音、二维码都属于数据
特点:
必须能被计算机识别和处理
2)数据项
定义:
具有独立含义的数据最小单位,也称域
特点:
不可分割的最小单位
示例: 学生信息表中的学号、姓名、班级、成绩都是独立的数据项
3)数据元素
定义:
数据的基本单位,也称节点或记录
组成: 由若干个数据项构成
示例: 学生信息表中的一行记录(学号+姓名+班级+成绩)构成一个数据元素
区别: 数据项是最小单位,数据元素是基本单位
4)数据类型
定义:
数据的不可分割的基本单位
特点:
是数据类型的本质特征
记忆点: 数据类型与数据项的区别在于前者是不可分割的单位,后者是有独立含义的最小单位
5)逻辑结构和存储结构
逻辑结构
定义:
数据元素间抽象化的相互关系,与存储无关,独立于计算机
特点:
从具体问题中抽象出来的数学模型
分类:
集合:元素间无特定关系
线性结构:一对一关系(如顺序表、链表)
树形结构:一对多关系(如二叉树)
图形结构:多对多关系(如网状结构)
存储结构
定义:
数据元素及其关系在计算机中的存储方式
分类:
顺序存储:连续空间存储(如数组)
链式存储:通过指针连接(如链表)
散列存储:通过哈希函数定位
索引存储:建立索引表
常见组合: 顺序存储和链式存储是最常用的两种
2. 算法
1)概念
定义:
对特定问题求解步骤的描述
评价标准: 执行时间(时间复杂度)和占用空间(空间复杂度)
五个特性:
有穷性:有限步骤内完成
确定性:无歧义
可行性:可执行
输入:零个或多个输入
输出:至少一个输出
2)好算法的标准
正确性: 满足问题需求,结果准确
易读性: 命名规范,注释恰当
健壮性: 处理非法输入(如年龄为负值)
高效性: 执行时间短
低存储性: 占用空间少
3)时间复杂度
定义: 算法基本运算的执行次数作为度量标准
计算原则: 忽略低阶项和常数项