[工学]数据结构与算法分析第二版review1-4.pptVIP

[工学]数据结构与算法分析第二版review1-4.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]数据结构与算法分析第二版review1-4

Review of chapter 1-4 数据结构三个方面的问题 (1)数据的逻辑结构 (2)数据的存储结构 (3)对各种数据结构进行的运算 目的:提高数据处理的效率 提高数据处理的速度 尽量节省计算机存储空间 数据结构的基本概念 1 什么是数据结构 2 数据结构的图形表示 3 线性数据结构与非线性数据结构 什么是数据结构 数据结构是指相互有关联的数据元素集合。 现实世界中客观存在的一切个体都可以是数据元素。 数据结构的基本概念 描述一年四季的季节名 春,夏,秋,冬 可以作为季节的数据元素; 表示数值的各个数 18,11,35,23,16,… 可以作为数值的数据元素; ●表示家庭成员的各成员名 父亲,儿子,女儿 可以作为家庭成员的数据元素。 数据的逻辑结构 是指反映数据元素之间逻辑关系的数据结构。 (1)表示数据元素的信息 (2)表示各数据元素之间的前后件关系 数据的逻辑结构有两个要素: ●数据元素的集合D ●反映D中各数据元素之间的前后件关系R。 数据结构可以表示成 B=(D,R) 其中B表示数据结构。 线性数据结构与非线性数据结构 线性结构: (1)有且只有一个根结点 (2)每一个结点最多有一个前件, 也最多有一个后件 线性结构又称线性表。 不是线性结构的数据结构特例 算法方面的考虑 1 什么是算法 2 算法的复杂度 3 算法描述语言 算法是一组严谨地定义运算顺序的规则, 并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。 算法的复杂度 ●时间复杂度 ●空间复杂度 1.时间复杂度 指执行算法所需要的计算工作量 算法的工作量=f(n) 2.算法的空间复杂度 执行算法所需要的内存空间。 线性表的基本概念 1 什么是线性表 2 线性表的顺序存储结构 3 线性表在顺序存储下的插入运算 4 线性表在顺序存储下的删除运算 线性表的基本概念 什么是线性表(Linear List) ● n维向量(x1,x2,…,xn)是一个长度为n的线性表 ●英文小写字母表(a,b,c,…,z)是一个长度为26的线性表 ●一年中的四个季节(春,夏,秋,冬)是一个长度为4的线性表 ●矩阵是一个比较复杂的线性表 线性表的基本概念 非空线性表结构特征: (1)有且只有一个根结点a1,它无前件; (2)有且只有一个终端结点an,它无后件; (3)除根结点与终端结点外,其它所有结点有且只有一个前件,也有且只有一个后件。 线性表中结点的个数n称为线性表的长度。当n=0时,称为空表。 线性表的基本概念 线性表的顺序存储结构 线性表的顺序存储结构基本特点: (1)线性表中所有元素所占的存储空间是连续的; (2)线性表中各数据元素在存储空间中是按逻辑 顺序依次存放的。 线性表中第i个元素ai在计算机存储空间中的存储地址为 ADR(ai)=ADR(a1)+(i-1)k 线性表的基本概念 长度为n的线性表 (a1,a2,…,ai,…,an) 顺序存储结构 线性表的基本概念 整型一维数组存放 长度为8的线性表 (29,18,56,63,35,24,31,47) 线性表的基本概念 ●建立空线性表的顺序存储空间 (即初始化线性表的顺序存储空间) #include stdlib.h void initsl(v,m,n) ET *v; int m, *n; { v=malloc(m*sizeof(ET)); *n=0; return; } ●释放线性表的顺序存储空间 free(v); 线性表的基本概念 线性表顺序存储结构下的主要运算: (1)在线性表的指定位置处加入一个新的元素(即线性表的插入); (2)在线性表中删除指定的元素(即线性表的删除); (3)在线性表中查找某个(或某些)特定的元素(即线性表的查找); (4)对线性表中的元素进行整序(即线性表的排序); (5)按要求将一个线性表分解成多个线性表(即线性表的分解); (6)按要求将多个线性表合并成一个线性表(即线性表的合并); (7)复制一个线性表(即线性表的复制); (8)逆转一个线性表(即线性表的逆转)等。 数组的顺序存储结构 1. 二维数组以行为主的顺序存储 数组的顺序存储结构 2. 二维数组以列为主的顺序存储 一般稀疏矩阵的表示 (1)非零元素所在的行号i; (2)非零元素所在的列号j; (3)非零元素的值V。 即每一个非零元素可

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档