- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构讨论地范畴
第一章 绪论 第二章 线性表 const int MaxSize=50; struct List { ElemType list[MaxSize]; int size; //当前线性表长度 }; 一、有关空表的操作 ? 1.初始化操作 三 、有关插入的操作 ? 四、有关删除的操作 ? 2.删除i位置元素操作 第三章 稀疏矩阵和广义表 第四章 栈和队列 如何从后缀式求值? 先找运算符,再找操作数 逆位序输入建立带头结点的单链表 一、建立一个“空表”; 二、输入数据元素an; 三、输入数据元素an-1, 建立结点并前插; 四、依次类推,直至输入a1为止。 L-next = p; p-next = L-next; 最后一个结点的指针域的指针又指回第一个结点 循环链表 a1 a2 … an 判别链表中最后一个结点的条件不再是“后继是否为空”,而是“后继是否为头结点”。 ai-1 ai e s-right = p-right; p-right = s; s-right-left = s; s-left = p; p s ai-1 ai 插入 双向链表 ai-1 删除 ai ai+1 p-right = p-right-right; p-right-left = p; p ai-1 压缩存储方法: 一、三元组顺序表 二、带行指针向量的链接存储 三、十字链表 稀疏矩阵的概念 原矩阵 转置后矩阵 一、三元组顺序表 用“三元组”表示实现矩阵转置 需要把具有相同行号的三元组结点按照列号从小到大的顺序链接成一个单链表,每个三元组结点的类型可定义为: 二、带行指针向量的链接存储 row col val next 1 2 14 1 5 -5 2 2 -7 3 1 36 3 4 28 三元组 行指针向量 2 2 -7 3 1 36 3 4 28 1 5 -5 1 2 14 vector /\ /\ /\ /\ /\ 三、 十字链表 cv rv 3 0 0 5 0 -1 0 0 2 0 0 0 1 1 3 1 4 5 2 2 -1 3 1 2 ^ ^ ^ ^ ^ ^ ^ 广义表的概念 广义表是递归定义的线性结构 广义表是多层次的线性结构 广义表结构的特点: 数据元素有相对次序; 2)长度为最外层包含元素个数; 3)深度为所含括弧的重数; 原子:深度为 0;空表:深度为 1; 4)可以共享; 5)可以是一个递归的表。 广义表的存储结构 采用头、尾指针的链表结构 表结点: 原子结点: tag=1 sublist next tag=0 data next 广义表的运算 递归函数 含直接或间接调用本函数语句的函数 2.求广义表的深度 1.求广义表长度 1.求广义表长度的递归算法 int Lenth(GLNode* GL) { if(GL!=NULL) return 1+Lenth(GL-next); else return 0; } 非递归算法如下: int Lenth(GLNode* GL) { int len=0; while(GL!=NULL) { len++; GL=GL-next; } return len; } 深度=Max {子表的深度} +1 2.求广义表的深度 可以直接求解的两种简单情况为: 空表的深度 = 1 原子的深度 = 0 将广义表分解成 n 个子表,分别 (递归)求得每个子表的深度, 1 1 1 L … ? while(L!=NULL) { if(L-tag==true) { int dep=Depth(L-sublist); if(depmax) max=dep; } L=L-next; } L L-sublist L L L-sublist L-sublist * * 一、数据结构讨论的范畴 二、基本概念 三、算法和算法的度量 一、数据结构讨论的范畴 非数值计算程序设计
您可能关注的文档
最近下载
- 中国山水画中的道家美学.doc VIP
- 人文关怀的护理课件最新完整版本.pptx VIP
- 基于Unity3D C#语言的防范疫情的游戏设计与制作.doc VIP
- 部编版七年级语文上册、下册全册教案(全册教学设计).docx VIP
- 智能电气设计EPLAN 第2版 课件 项目五 任务三 热过载继电器部件制作.pptx
- 梅特勒pH计FE28说明书.pdf VIP
- 第四纪地质与地貌学_第三章_第四纪基本问题_3-第四纪气候分解.ppt
- 江苏省南京市2024-2025学年高一下学期6月期末考试语文试题(含答案).doc VIP
- 《中等数学增刊1-2018》.doc VIP
- 银行利率定价管理委员会工作制度.docx
文档评论(0)