数据结构复习
### 数据结构复习知识点 #### 一、数据结构基础概念 1. **数据**: 在计算机科学中,数据是指能够被输入到计算机中,并被计算机程序处理的所有符号的总称。 2. **数据元素**: 数据的基本单位,通常是作为一个整体来进行考虑和处理的。 3. **数据项**: 数据的不可分割的最小单位。一个数据元素可以由多个数据项组成。 4. **数据结构**: 相互之间存在一种或多种特定关系的数据元素的集合。数据结构是计算机存储和组织数据的方式。 5. **数据的逻辑结构**: - 线性结构: 如数组、链表等。 - 树形结构: 如二叉树、多叉树等。 - 图状结构: 如无向图、有向图等。 - 集合: 一组不重复的数据元素组成的集合。 6. **数据的存储结构**: - 顺序存储结构: 将数据元素存储在连续的内存空间中。 - 链式存储结构: 使用指针链接的方式存储数据元素。 7. **数据的存储方法**: - 顺序存储方法: 适用于固定大小的数据集合。 - 链式存储方法: 动态创建节点来存储数据元素。 - 索引存储方法: 通过索引来提高数据访问速度。 - 散列存储方法: 通过哈希函数将数据映射到特定位置。 8. **数据结构与算法的关系**: 选择合适的数据结构对于设计高效算法至关重要。算法的设计依赖于所选的数据结构,而算法的实现则依赖于具体使用的存储结构。 9. **存取结构**: 描述在一个数据结构上进行查找操作的时间性能,主要包括随机存取结构(如顺序表)和顺序存取结构(如单链表)。 10. **算法的特征**: 包括有穷性、确定性、可行性、输入和输出。 #### 二、算法的时间复杂度 1. **时间复杂度**: 衡量算法执行时间随输入规模变化的增长率。通常使用大O符号表示。 2. **计算方法**: 通过分析算法中关键操作的执行次数来确定算法的时间复杂度。 #### 三、线性表 1. **线性结构的特点**: - 存在唯一的“第一元素”和“最后元素”。 - 除“第一元素”外,每个元素都有一个前驱;除“最后元素”外,每个元素都有一个后继。 2. **线性表定义**: 由相同类型的数据元素构成的有序序列,是最简单、最基本的线性结构。 3. **线性表长度**: 线性表中元素的数量,当长度为0时称为空表。 4. **线性表的存储结构**: - **顺序存储结构** (顺序表): 具备按数据元素的序号随机存取的特点,时间复杂度为 O(1)。 - **链式存储结构** (单链表): 数据的存取方式为顺序存取。 5. **顺序表形式描述**: - **静态分配**: 定义固定的数组大小,例如 `#define LISTSIZE 100`。 - **动态分配**: 根据需要动态调整存储空间大小,例如使用 `malloc()` 和 `realloc()` 进行动态内存分配。 6. **顺序表操作**: - 构造一个空的顺序表: 初始化顺序表的长度和分配的存储空间。 - 查找操作: 查询第一个满足条件的元素的位置。 - 插入操作: 在指定位置插入一个新的元素。 以上知识点覆盖了数据结构的基础概念、算法的时间复杂度以及线性表的相关内容,有助于深入理解数据结构的核心原理及其应用。这些内容是学习更高级数据结构和算法的基础,对于计算机专业学生来说非常重要。
剩余32页未读,继续阅读
- fishwang892014-11-10不错的资源,总结的比较有条理。 感谢分享!
- 粉丝: 22
- 资源: 36
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助