第一章概念比较多,而且杂乱;难点是时间复杂度和空间复杂度的计算。下面对这一章分点总结:
1,1什么是数据结构?
1、计算机解决具体问题的步骤:分析数学模型---求解算法---编写程序---测试程序---解答;
2、线性数据结构:图书馆的书目检索系统、查号系统自动化、仓库账目管理等;
树型数据结构:棋盘对弈问题;
图形数据结构:多叉路口交通灯管理问题;
3、数据结构:数据结构是一门研究非数值计算的程序设计问题中计算机操作对像以及它们之间的关系和操作的学科,其实质是对确定的问题选择一种好的结构,加上设计一种好的算法,其是包括硬件、软件、数学等学科的综合性学科。
1.2 基本概念和术语
1、数据:客观事物的符号表示,一切可以输入到计算机并能被计算机程序处理的符号的总称;
数据元素:是数据的基本单位,通常作为一个整体进行考虑和处理,考虑1.1节三节数据结构的数据元素分别是什么;(数据项)
数据对像:性质相同的数据元素的集合,是数据的一个子集;
数据结构:是相互之间存在一种和多种特定关系的数据元素的集合;
结构:数据元素相互之间的关系,含有四种基本结构:集合、线性结构(一对一)、树形结构(一对多)、图形结构(多对多);
2、数据结构常讨论的两种结构:逻辑结构、存储结构(顺序存储结构(顺序映像,如数组)、链式存储结构(非顺序映像,如指针));
数据类型:数据类型是一个值的集合和定义在这个值集上的一组操作的总称,其一般分为基本类型和结构类型;
抽像数据类型:抽像数据类型是指一个数学模型及定义在该模型上的一组操作,抽像数据类型通常分为原子类型、固定聚合类型、可变聚合类型等;
多形数据类型:多形数据类型是指其值的成份不确定的数据类型,有点类似于C++的类模板;
抽像数据类型的格式定义:
ADT抽像数据类型名{
数据对像:<数据对像的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
}ADT抽像数据类型名
1.3 抽像数据类型的表示和实现
1.4 算法和算法分析
算法:算法是对特定问题求解步骤的一种描述,是指令的有限序列,算法的特性:有穷性、确定性、可行性、输入、输出;
算法设计要求:正确性、可读性、健壮性、效率和低存储量需求;
算法效率的度量:事后统计的方法、事前分析估算的方法;
时间复杂度:T(n)= O(f(n)),随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称做算法的渐近时间复杂度,一般选择最坏的情况做为时间复杂度;
频度:频度是指该语句重复执行的次数;
空间复杂度:空间复杂度作为算法所需存储空间的量度,记为:S(n)=O(f(n));