第03基本数据结构与运算_1线性表.pptVIP

  1. 1、本文档共97页,可阅读全部内容。
  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文档。上传文档
查看更多
第03基本数据结构与运算_1线性表

第三章?基本数据结构及运算;第三章?基本数据结构及运算;第三章?基本数据结构及运算;第三章?基本数据结构及运算;第三章?基本数据结构及运算;第三章?基本数据结构及运算;第三章?基本数据结构及运算;数据:计算机处理的对象 数据元素(Data Element) :数据的基本单位 一个数据元素可由若干数据项(Data Item)组成。 数据项:数据的最小单位。 数据对象(Data Object):是性质相同的数据元素的集合。是数据的一个子集。 数据结构(Data Structure):是相互之间存在一种或多种特定关系的数据元素的集合。;数据结构可描述为 Group=(D,R);;A. 线性结构(一对一) ;DS1=(D1,R1) 集合表示法 D1={k1,k2,k3,k4} R1={(k1,k2),(k2,k3),(k3,k4)} DS2=(D2, R2) D2={k1, k2, k3} R2={(k1, k2), (k1, k3)};;B.非线性结构:树形结构(一对多);识别“体”字的过程;A;;1;;元素n;元素n;;1536;1536;1536; 链表的一个重要特点是插入、删除运算灵活方便,不需移动结点,只要改变结点中指针域的值即可;;例 管理信息系统中的查询问题 各种计算机管理信息系统中,通常相关的信息(记录)组成一个表文件,表文件是一类很重要的数据结构;3.2.1.线性表的逻辑结构 3.2.2 线性表的存储结构及运算 3.2.3 线性表的应用 3.2.4 作业;3.2.1.线性表的逻辑结构;线性表的基本运算: (1)插入:在两个确定的元素之间插入一个新的元素; (2)删除:删除线性表中某个元素; (3)修改:按某种要求查找线性表中的一个元素,需要时,还可找到元素进行值的更新;3.2.2 线性表的存储结构; elem;ai-1;删除运算;2.链式存储结构及插入删除运算;线性链表表示法:;a1;单链表的插入运算;;∧;∧;∧;∧;∧;∧;∧;∧;;(2) 循环链表 将最后一个结点的空指针改为指向头结点,从任一结点出发均可找到其它结点。;循环链表:首尾相接的链表。 将最后一个结点的空指针改为指向头结点,从任一结点出发均可找到其它结点。;(3) 双向链表 在每个结点中设置两个指针,一个指向后继,一个指向前驱。可直接确定一个结点的前驱和后继结点。可提高效率。;编写算法的一般步骤;3.2.3. 线性表的应用 —— 应用最广的数据结构 ·高级语言中的数组; ·计算机的文件系统; ·计算机的目录系统; ·电话号码查询系统(可采用顺序表或单链表结构); ·各种事务处理(各种表格均采用顺序表和线性链表结构) ;作业1:某百货公司仓库中,有一批电视机,按其价格由高到低的顺序存储在计算机中,经常发生的操作是入库和出库。现在又新到m 台价格为h 元的电视机需入库,请你为仓库管理系统设计一种数据结构,并画出逻辑示意图。用框图的形式给出增加电视机到数据结构中(插入操作)的思想。注意:数据元素是(数量,价格),数据元素之间的价格不同。;L;(6) T=P; while(T-link!=NULL) { T-data=(T-data)*2; T=T-link; };Linklist creat() {linklist head,p1,p2; n=0;p1=p2=(struct lnode*)malloc(LEN); scanf(“%d”,p1-data);head-next=NULL; while(p1-data!0) {n=n+1; if(n==1) head-next=p1; else p2-next=p1; p2=p1;p1=(struct lnode*)malloc(LEN); scanf(%d”,p1-data);p2-next=NULL; }return(head);};Linklist creat() {linklist head,p1,p2; n=0;p1=p2=(struct lnode*)malloc(LEN); scanf(“%d”,p1-data);head-next=NULL; while(p1-data!0) {n=n+1; if(n==1) head-next=p1; else p2-next=p1; p2=p1;p1=(struct lnode*)

文档评论(0)

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

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

1亿VIP精品文档

相关文档