网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构概念和顺序表.pptVIP

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

数据结构概念及顺序表 西安交通大学计教中心 ctec.xjtu.edu.cn 2.1 数据结构基本概念 1.数据(data) 数据是指能够输入到计算机中,并被计算机识别和处理的符号的集合。 2.数据元素(data element) 数据元素是组成数据的基本单位。数据元素是一个数据整体中相对独立的单位。但它还可以分割成若干个具有不同属性的项(字段),故不是组成数据的最小单位 数据结构(data structure) 是指相互之间存在一种或多种特定关系的数据元素所组成的集合。数据结构包含三个方面的内容,即数据的逻辑结构,数据的存贮结构和对数据所施加的运算。 这三个方面的关系为: 数据的逻辑结构独立于计算机,是数据本身所固有的 存贮结构是逻辑结构在计算机存贮器中的映像,必须依赖于计算机。 运算是指所施加的一组操作总称。运算的定义直接依赖于逻辑结构,但运算的实现必依赖于存贮结构。 数据结构基本类型 线性结构 —— 通迅录、成绩单、花名册 树形结构 —— 电子字典、家谱、目录 图状结构 —— 交通线路、通信网络 数据结构中常用的存贮结构 (1) 顺序存贮 所有元素存放在一片连续的存贮单元中,逻辑上相邻的元素存放到计算机内存仍然相邻。 (2) 链式存贮 所有元素存放在可以不连续的存贮单元中,元素之间的关系通过地址确定,逻辑上相邻的元素存放到计算机内存后不一定是相邻的。 (3) 索引存贮(略) (4) 散列存贮(略) 算法(algorithm) 通俗地讲,算法就是一种解题的方法。更严格地说,算法是由若干条指令组成的有穷序列,它必须满足下述条件(也称为算法的五大特性): (1)输入:具有0个或多个输入的外界量(算法开始前的初始量) (2)输出:至少产生一个输出,它们是算法执行完后的结果。 (3)有穷性:每条指令的执行次数必须是有限的。 (4)确定性:每条指令的含义都必须明确,无二义性。 (5)可行性:每条指令的执行时间都是有限的。 算法分析 1. 时间复杂度 一个算法花费的时间与算法中语句的执行次数成正比,哪个算法中语句执行次数多,它花费时间就多。 数据结构中数据元素个数n称为问题的规模,当n不断变化时,语句的执行次数也会变化。一个算法中的时间复杂度一般用语句执行次数的数量级来衡量。 例如: for(i=1; i=n; i++) for(j =1; j=i; j++) d[i][j]=data[i][j]+1; 2. 空间复杂度 与时间复杂度类似,空间复杂度是指算法在计算机内执行时所占用的内存开销规模。但我们一般所讨论的是除正常占用内存开销外的辅助存储单元规模。讨论方法与时间复杂度类似,不再赘述。 2.2 线性数据结构 线性表是由有限个同类型的数据元素组成的有序序列,一般记作(a1,a2,…,an)。除了a1和an之外,任意元素ai都有一个直接前趋ai-1和一个直接后继ai+1。 a1无前趋,an无后继。 线性表的存储结构主要有顺序存储结构和链式存储结构两种。 顺序表 采用顺序存储结构的线性表称为顺序表,它的数据元素按照逻辑顺序依次存放在一组连续的存储单元中。逻辑上相邻的数据元素,其存储位置也彼此相邻。 假定元素a1的物理地址是Loc(a1),每个元素占d个存储单元,则第i个元素的存储位置为: Loc(ai) = Loc(a1) + (i-1) * d 顺序表类描述 const int MAXSIZE=100; //顺序表最大允许长度 class SeqList { public: ElemType data[MAXSIZE]; // 存储数据的数组 int length; // 顺序表当前长度 SeqList() { length=0; } //构造函数 void ClearList() { length=0; } //将顺序表置为空表 //判断顺序表是否为空表 bool IsListEmpty() {return length==0;} ( 下页continue …. ) ( 接上页 ) //判断顺序表是否为满 bool IsListFull() {return length==MAXSIZE;} //在表中删除第i个元素 void ListDelete( int i ); //在表中第 i 个位置插入新元素x void ListInsert( int i, ElemType x ); int Find( ElemType x ); //在

文档评论(0)

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

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

1亿VIP精品文档

相关文档