- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构-05
数据结构 liuyouji@163.com 目录 第1章 绪论 第2章 线性表 第3章 栈和队列 第4章 串 第5章 数组和广义表? 第6章 树 第7章 图 第8章 动态存储管理 第9章 查找 第10章 内部排序 第11章 外部排序 第12章 文件 第5章 数组和广义表 5.0 C语言中变参的使用 5.1 数组的定义 5.2 数组的顺序表示和实现 5.3 矩阵的压缩存储 5.4 广义表的定义 5.5 广义表的存储结构 5.6 5.7 5.0 C语言中变参的使用 5.1 数组的定义 // array demos // 1 考虑元素之间的关系? int a[5]; int b[4][5]; int c[3][4][5]; // use demo // 2 考虑数组怎么被使用? int x; int a[5]; a[0] = 4; x = a[0]+3; a[1] = a[0]*2; 若干个 1维数组 组成了 2维数组; 若干个 2维数组 组成了 3维数组; .. .. .. 结论:若干个 n-1维数组 组成了 n维数组。 Assign 其他存储方法 1 三元组存储 2 行逻辑链接的三元组存储 3 十字链表 5.4 广义表的定义 形式化定义: 或 单个元素 或 广义表 概念 原子 子表 表头 表尾 5.5 广义表的存储结构 改进算法: 希望在转换过程中能直接计算出列元素的存放位置,从而省去排序过程。为此通过计算首先确定列的第一个元素在转置后的三元组中的位置。 第5章 数组与广义表 引入:为此引入num和 cpot两个向量。 num[col]表示矩阵M中第col列中非0元素的个数 cpot[col]表示矩阵M中第col列第1个非0元素在b.data中的位置。 则: cpot[1]=1; cpot[col]=cpot[col-1]+num[col-1] 2=col=a.nu 1 3 5 7 8 8 9 cpot[col] 2 2 2 1 0 1 0 num[col] 1 2 3 4 5 6 7 col 矩阵M的cpot的值: 第5章 数组与广义表 Ststus fastransposeSmatrix(tsmatrix M,tsmatrix T) {t.mu=m.nu;t.nu=m.mu;t.tu=m.tu; if(t.tu){ for(col=1;col=m.nu;++col) num[col]=0; for(t=1;t=m.tu;++t) ++num[m.data[t].j]; cpot[1]=1; for(col=2;col=m.nu;++col) cpot[col]=cpot[col-1]+num[col-1]; for(p=1;p=m.tu;++p) { col=m.data[p].j;q=cpot[col]; t.data[q].i=m.data[p].j; t.data[q].j=m.data[p].i; t.data[q].e=m.data[p].e;++cpot[col]; } }//endif return ok; }//fastransposesmatrix (矩阵转置) 示例 A=( ) B=(e) C=(a,(b,c,d)) D=(A,B,C) E=(a,E) 即 E=(a,(a,(a, ..))) * * 本章所讨论的数组是线性表的扩充,即线性表的每个元素均是一种数据结构,俗称多维数组。 广义表指“表中有表”,即线性表中的每个元素可能仍然是一个线性表。 第5章 数组和广义表 int average( int first, ... ) /* 0 声明使用变参 */ { int count = 0, sum = 0, i = first; va_list marker; /* 1 定义变参 */ va_start( marker, first ); /* 2 初始化变参 */ while( i != -1 ) { sum += i; c
您可能关注的文档
- 常见的物质 中考科学提纲.doc
- 幂的运算 测试卷 文档.doc
- 幂的乘方与积的乘方(晚自习复习).ppt
- 幕墙工程评估大样.doc
- 平行线的性质(学案).doc
- 平方根(基础)知识讲解.doc
- 平谷区居住小区综合验收程序.doc
- 平谷屋架计算书.doc
- 平山卫生院院务公开实施方案.doc
- 平面_NIEH.doc
- Unit4MyFavoriteSubjectSectionA(1a-Pronunciation)(课件)人教版七年级英语上册.pptx
- Unit4NaturalDisastersListeningandSpeaking课件-高中英语人教版.pptx
- Unit4NaturalDisastersReadingandThinking课件高中英语人教版(1).pptx
- Unit4MyFavouriteSubjectSectionApronunciation课件-人教版七年级英语上册.pptx
- Unit4MyFavouriteSubjectSectionB(1a-1d)(教学课件)人教版英语七年级上册.pptx
- Unit4Lesson1课件冀教版七年级英语上册.pptx
- Unit4Lesson3课件冀教版英语七年级上册.pptx
- Unit4NaturalDisasters词汇笔记清单-高一上学期英语人教版.docx
- Unit4Lesson2课件冀教版英语七年级上册.pptx
- Unit4IusedtobeafraidofthedarkSectionAGrammarFocus-4c课件人教版(2012)九年级英语全册.pptx
最近下载
- 《地下水污染的防治》课件.ppt VIP
- 智慧树关爱生命—急救与自救技能--第五章单元测试答案.docx VIP
- 贵阳地铁值班员、值班站长资格证考试题库.pdf VIP
- 新解读《绿色公路建设技术指南 DB 65_T 4620 - 2022》最新解读.docx VIP
- DB65_T 4620-2022 绿色公路建设技术指南.docx VIP
- 人教A版高中数学新教材分析课件(共119张PPT).pptx VIP
- 水利工程建设强制性条文执行计划方案.docx
- 中小学校园常见法律问题及案例分析.ppt VIP
- 中小学校园常见法律问题及案例分析剖析.ppt VIP
- 胡适作品《差不多先生传》教案.docx VIP
文档评论(0)