数据结构(第一章)
一、基本概念
- 数据:数据是描述客观事物的数值、字符以及能够输入机器且能被处理的各种符号集合
- 数据元素:数据元素是组成数据的基本单位,是数据集合的个体,在计算机中通常作为一个整体进行考虑和处理。
- 数据对象:性质相同的数据元素的集合,是数据的一个子集。
- 数据结构:数据结构是指相互之间存在一种或多种特定关系的数据元素集合。
- 数据类型:数据类型是一组性质相同的值集合以及定义在这个值集合上的一组操作的总称。
二、数据结构的内容
2.1 逻辑结构
- 集合结构 :同属于一个集合
- 线性结构 :一对一
- 树形结构 :一对多
- 图状结构(或网状结构): 多对多
2.2 存储结构
- 顺序存储结构
- 非顺序结构(链式存储结构)
2.3 运算集合
线性表 + 顺序存储结构 -> 顺序表
线性表 + 链式存储结构 -> 线性链表
三、算法
3.1 算法(Algorithm)的定义
算法是规则的有限集合,是为解决特定问题而规定的一系列操作。
3.2 算法的特性
- 有限性
- 确定性
- 输入
- 输出
- 可行性
最基本的是有限性、确定性、可行性
四、算法的实现步骤
- 找出与求解有关的数据元素之间的关系(建立结构关系)
- 确实在某一数据对象上所施加的运算
- 考虑数据元素的存储表示
- 选择描述算法的语言
- 设计实现求解的算法,并用程序语言加以描述
五、对算法作性能评价
- 语句频度:指的是该语句在一个算法中重复执行的次数
- 算法的时间复杂度:T(n) = O( f ( n ) )
表示随着问题规模n的增大,算法的执行时间的增长率和f(n)的增长率相同称作为算法的渐进时间复杂度,简称时间复杂度。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署