【数据结构电子课件】绪论.ppt

上传人:scccc 文档编号:11886533 上传时间:2021-10-13 格式:PPT 页数:31 大小:142.50KB
返回 下载 相关 举报
【数据结构电子课件】绪论.ppt_第1页
第1页 / 共31页
【数据结构电子课件】绪论.ppt_第2页
第2页 / 共31页
【数据结构电子课件】绪论.ppt_第3页
第3页 / 共31页
【数据结构电子课件】绪论.ppt_第4页
第4页 / 共31页
【数据结构电子课件】绪论.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《【数据结构电子课件】绪论.ppt》由会员分享,可在线阅读,更多相关《【数据结构电子课件】绪论.ppt(31页珍藏版)》请在三一文库上搜索。

1、数据结构,主讲人 李晓红,教材 数据结构 (C语言版)严蔚敏等编著,清华大学出版社 参考书 数据结构 (用面向对象方法与C+描述) 殷人昆等编著,清华大学出版社,什么是数据结构 基本概念和术语 抽象数据类型 算法分析 性能分析与度量,第一章 绪论,学生成绩表格,选课单,UNIX文件系统结构图,在应用程序中涉及到各种各样的数据,如何在计算机中组织、存储、传递数据,需要讨论它们的归类及它们之间的关系,从而建立相应的数据结构,依此实现软件功能。 综上,描述这类非数值计算问题的数学模型不是数学方程,而是树、表和图之类的数据结构。 因此从广义上讲,数据结构描述现实世界实体的数学模型及其上的操作在计算机中

2、的表示和实现.,基本概念和术语,数据(Data) 是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中,被计算机程序识别和处理的符号的集合。 数值性数据 非数值性数据,数据元素(Data Element) 数据的基本单位。在计算机程序中常作为一个整体进行考虑和处理。 有时一个数据元素可以由若干数据项(Data Item)组成。数据项是具有独立含义的最小标识单位。 数据元素又称为元素、结点、记录,数据项(Data Item),数据对象 (data object) 具有相同性质的数据元素的集合。 整数数据对象 N = 0, 1, 2, 字母字符数据对象 C= A, B, C, F ,数

3、据结构(Data Structure) 形式定义: 某一数据对象的所有数据成员之间的关系。记为: Data_Structure = D, S 其中,D 是某一数据对象, S 是该对象中所有数据成员之间的关系的有限集合。,四个基本结构 集合 线性结构 树形结构 网状结构,数据的逻辑结构 从逻辑关系上描述数据,与数据的存储无关; 从具体问题抽象出来的数据模型; 与数据元素本身的形式、内容无关; 与数据元素的相对位置无关。,数据的逻辑结构分类 线性结构 线性表 非线性结构 树 图(或网络),user,线性结构,树形结构 树 二叉树 二叉排序树,堆结构,12,3,5,4,8,7,11,10,2,9,1

4、,6,图结构 网络结构,数据的存储结构(物理结构) 数据结构在计算机中的表示。 数据的存储结构依赖于计算机语言。 顺序存储表示 链接存储表示 索引存储表示 散列存储表示,抽象数据类型(Abstract Data Type),数据类型 定义:一个值的集合和定义在这个值集上的一组操作的总称。 C语言中的基本数据类型 int char float double void 整型 字符型 浮点型 双精度型 无值,抽象数据类型 是指一个数学模型以及定义在此数学模型上的一组操作 数据结构+定义在此数据结构上的一组操作 = 抽象数据类型 例如:矩阵 +(求转置、加、乘、 求逆、求特征值) 构成一个矩阵的抽象数

5、据类型,抽象数据类型的描述 抽象数据类型可用(D,S,P)三元组表示 其中,D是数据对象,S是D上的关系集,P是对D的基本操作集。 ADT 抽象数据类型名 数据对象:数据对象的定义 数据关系:数据关系的定义 基本操作:基本操作的定义 ADT 抽象数据类型名,其中,数据对象、数据关系用伪码描述;基本操作定义格式为 基本操作名(参数表) 初始条件:初始条件描述 操作结果:操作结果描述 基本操作有两种参数:赋值参数只为操作提供输入值;引用参数以 i n-1; i+ ) /n-1趟 从ai检查到an-1;若最小整数在ak, 交换ai与ak; 细化:Select Sort,void selectSort

6、 ( int a , int n ) /对n个整数a0,a1,an-1按递增顺序排序 for ( int i = 0; i n-1; i+ ) int k = i; /从ai查到an-1, 找最小整数, 在ak for ( int j = i+1; j n; j+ ) if ( aj ak ) k = j; int temp = ai; ai = ak; ak = temp; ,性能分析与度量,算法的性能标准 正确性 可使用性 可读性 效率 健壮性,算法的后期测试 在算法中的某些部位插装时间函数time ( ), 测定算法完成某一功能所花费时间 double start, stop; time

7、 (,int seqsearch ( int a , int n, int x ) /在a0,an-1中搜索x int i = 0; while ( i n ,算法的事前估计 空间复杂度度量 存储空间的固定部分程序指令代码的空间,常数、简单变量、定长成分(如数组元素、结构成分、对象的数据成员等)变量所占空间 可变部分尺寸与实例特性有关的成分变量所占空间、引用变量所占空间、递归栈所用空间、通过new和delete命令动态使用空间,时间复杂度度量 运行时间 = 算法中每条语句执行时间之和。 每条语句执行时间 = 该语句的执行次数(频度)* 语句执行一次所需时间。 语句执行一次所需时间取决于机器的指令性能和速度和编译所产生的代码质量,很难确定。 设每条语句执行一次所需时间为单位时间,则一个算法的运行时间就是该算法中所有语句的频度之和。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1