《数据结构》 第一章、绪论 参照王道考研数据结构视频
第一章、绪论
随着计算机的发展,计算机不只是用于计算,还在处理许多非数值的计算处理,处理的对象,也变为了字符,表格图像等,为了编写好程序,因而分析对象的特性和对象之间的关系
程序=数据结构+算法
数据结构
基本概念
数据结构
- 是相互之间存在一种或多种特定关系的数据元素的集合
- 结构:数据元素不是独立存在的,彼此之间有关系,把这种关系叫做结构
数据
- 是信息的载体,是描述客观事物的数,可以输入到计算机当中并被识别处理的符号集合
就是基本的
原料
,例如:面包的原料是面粉和水
数据元素
这里可以把数据元素理解为一个人(一个账号),数据项理解为人的、姓名、年龄、体重
数据项
- 若干个数据项组成一个数据元素
- 数据项是数据不可分割的最小单位
数据对象
- 是一个性质相同的数据元素的集合。
- 是数据的一个子集
数据:全体学生的信息
数据对象:全体计算机学生的信息(他们从所学的专业考虑,性质相同都是计算机)
数据元素:一个叫张三同学的学生信息(张三同学作为整体,基本上以单个同学的信息考虑)
数据项:张三同学的、姓名、年龄、身高、体重等。(这是不可分割的,也是最小的信息了)
三要素
1.逻辑结构
-
集合:同属一个集体
-
线性结构:数据元素之间一对一
-
除去第一个元素都有,唯一的前驱
-
除去最后一个都有,唯一的后继
-
树形结构:数据元素之间一对多
-
图形结构/网状结构:数据元素之间多对多
2.数据的运算
3.物理结构/存储结构
-
如何在计算机中表示数据的逻辑关系
-
常见的四种存储结构
-
顺序存储:逻辑上相邻,物理上也相邻
-
链式存储:逻辑上相邻,物理上可以不相邻、离散,通过指针连接
-
索引存储:建立一张索引表,(关键字,地址)
-
散列存储/哈希存储:通过关键字计算出存储地址
算法
- 是求解问题的特定步骤
算法特性
- 有穷性:有穷步骤、有穷时间内结束
- 确定性:相同的输入、相同的输出(尤其是有输入的数值相同,要规定输出顺序,比如:碰到相同的数值,按照输入的顺序输出)
- 可行性:代码可以实现
- 输入/输出:必须有输出
算法度量
时间复杂度
- 只考虑循环部分,深层循环
- 只考虑阶数高的部分
- 常见排序:常对幂指阶
例子1:
例子2:
空间复杂度
- 定义变量带来的消耗
- 递归调用带来的消耗
本文作者:luckyh
本文链接:https://www.cnblogs.com/luckyh/p/16153639.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步