严蔚敏(C语言版)学习指南,笔记、习题与考研真题详解

严蔚敏《数据结构》(C语言版)笔记和习题(含考研真题)详解

第1章 绪 论

一、什么是数据结构

数据结构是研究非数值计算程序设计问题中计算机操作对象及其关系、操作的学科。

二、基本概念和术语

  1. 数据:客观事物的符号表示,是计算机能输入并处理的符号总称。
  2. 数据元素:数据的基本单位。
  3. 数据对象:性质相同的数据元素的集合。
  4. 数据结构:存在特定关系的数据元素的集合。

基本结构分类:

  • 集合:数据元素属于同一集合,无其他复杂关系。
  • 线性结构:数据元素之间存在一对一关系。
  • 树形结构:数据元素之间存在一对多关系。
  • 图状结构或网状结构:数据元素之间存在多对多关系。

数据结构的形式定义:Data_Structure=(D,S),其中D表示数据元素的有限集,S表示D上关系的有限集。

在计算机中的表示:数据包括数据元素的表示和关系,称为数据的物理结构或存储结构。包括顺序映象和非顺序映象两种方法,对应两种存储结构:顺序存储结构和链式存储结构。

  1. 数据类型:值的集合及定义在该值集上的操作总称。
  2. 抽象数据类型:由值域和定义在该值域上的操作组成。
  3. 多形数据类型:值的成分不确定的数据类型。
  4. 数据操作的类型:插入、删除、更新、查找、排序。
  5. 算法:特定问题求解步骤的描述,指令的有限序列。

三、抽象数据类型的表示与实现

四、算法和算法分析

  1. 算法的描述:程序框图、程序设计语言等均可描述算法。
  2. 算法设计的要求:正确性、可读性、健壮性、效率与低存储量需求。
  3. 算法效率的度量:通过程序在计算机上运行时所消耗的时间来度量,通常采用时间复杂度和空间复杂度来评估。

严蔚敏《数据结构》(C语言版)学习指南,笔记、习题与考研真题详解,助你深入理解数据结构,提升编程能力。