# 数据结构 ## 第一章——绪论

192 阅读4分钟

数据结构 第一章——绪论

1.1 概念

1.数据(data):数据是描述客观事物的数值、字符以及能输入机器且能被处理的各种符号集合。(数据就是计算机化信息)
2.数据元素(data element):数据元素是组成数据的基本单位,是数据集合的个体。
3.数据对象(data object):数据对象是性质相同的数据元素的集合,是数据的一个子集。
4.数据结构(data structure):数据结构是指相互之间存在一种或多种特定关系的数据元素集合。
5.数据类型(data type):数据类型是一组性质相同的值集合 以及 定义在这个值集合上的一组操作的总称。
6.抽象数据类型:(1)数据的抽象;(2)抽象数据类型(abstract data type,ADT):定义了一个数据对象、数据对象中各元素间的结构关系以及一组处理数据的操作。 重要特点:数据抽象信息隐蔽

1.2 内容

1.逻辑结构线性结构——线性表、栈、队、字符串、数组、广义表;非线性结构——数、图。
2.存储结构:——顺序存储非顺序存储
、存储结构(又称物理结构)是逻辑结构在计算机中的存储映像。包括数据元素映像关系映像
即逻辑结构是数据结构的抽象,存储结构是数据结构的实现。
两者综合起来建立了数据元素之间的结构关系(2种):顺序映像(顺序存储结构)和非顺序映像(非顺序存储结构)。
3.运算集合—— 数据结构就是研究一类数据的表示及其相关的运算操作。 操作集合:增、删、改。
注:数据结构课程基本内容——①按照某种逻辑关系组织起来的一批数据,②按一定的映像方式把它们存放在计算机的存储器中,③并在这些数据上定义一个运算的集合。

1.3 算法

算法+数据结构=程序—— 算法是研究数据结构的重要途径。
1.算法定义:算法是规则的有限集合,为解决特定问题而规定的一系列操作。
2.算法的五大特性:有限性、确定性、可行性、输入、输出。
3.算法设计的要求:算法的正确性、可读性、健壮性(鲁棒型)(对非法输入的抵抗力)、高效率(算法的执行时间要短)和低存储量(算法执行过程中的最大存储空间要低)。

1.4 算法描述

1.设计实现算法过程的步骤(算法、语言、程序
①找出与之求解有关的数据元素之间的关系(建立结构关系)
②确定在某一数据对象上所施加的运算
③考虑数据元素的存储表示
④选择描述算法的语言
⑤设计实现求解的算法,并用程序语言加以描述

1.5 算法性能评价

1.重点:算法分析——评价算法性能(判断算法的优劣)的标准:算法执行时间占用存储空间两方面考虑。
2.问题规模:算法求解问题的输入量(一般用整数表示)【运算效率是问题规模的函数】。
图(论问题的规模)——图中的顶点数或边数;
矩阵(问题的规模)——阶数;
多项式(问题的规模)——多项式的项数;
集合运算(问题的规模)——集合中元素的个数。

1.5.1 算法的时间性能分析

1.算法耗费的时间:一个算法的执行时间是值算法中所有语句执行时间的总和。
2.语句频度:该语句在一个算法中重复执行的次数。(一个算法的时间耗费就是该算法中所有语句频度之和)
3.算法的时间复杂度(渐近时间复杂度)(算法的时间度量):T(n)=0(f(n))。分析f(n)随n变化情况并确定T(n)的数量级0
T(n)——算法的时间复杂度; f(n)——算法中语句总的执行次数(是n的函数); n——为题规模; 0——数量级
:当有若干个循环语句时,算法的时间复杂度是由嵌套层数最多的循环语句中 最内层语句的频度f(n) 决定的。
常数阶: x=x+1,时间复杂度:0(1);
线性型: for(i=0;i<=n;i++),时间复杂度:0(n);
平方型:

         for(i=1;i<=n;i++)  
            for(j=1;j<=n;j++)    

时间复杂度:0(n²)