- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * 6 7 8 1 2 12 1 3 9 3 1 -3 3 6 14 4 3 24 5 2 18 6 1 15 6 4 -7 i j v 0 1 2 3 4 5 6 7 8 ma i j v 0 1 2 3 4 5 6 7 8 mb col num[col] cpot[col] 1 1 2 2 3 2 3 5 2 4 7 1 5 8 0 6 8 1 7 9 0 7 6 8 1 3 -3 1 6 15 2 1 12 2 5 18 3 1 9 3 4 24 4 6 -7 6 3 14 p p p p p p p p 4 6 2 9 7 5 3 * * 链式存储结构 带行指针向量的单链表表示 每行的非零元用一个单链表存放 设置一个行指针数组,指向本行第一个非零元结点;若本行无非零元,则指针为空 typedef struct node { int col; int val; struct node *link; }JD; typedef struct node *TD; ^ 1 3 5 7 3 -1 1 -1 2 -2 4 2 ^ ^ ^ ^ 需存储单元个数为3t+m 十字链表 * * 设行指针数组和列指针数组,分别指向每行、列第一个非零元 结点定义 typedef struct OLNode { int i, j; ElemType e; struct OLNode *down, *right; }OLNode, *OLink; row col val down right 1 1 3 4 1 8 2 2 5 2 3 4 ^ ^ ^ ^ ^ ^ ^ typedef struct { Olink *rhead, *chead; int mu, nu, tu; }CrossList; 建立十字链表算法 * * 从键盘接收信息 见书P104:算法5.4 任意的非零元输入先后次序 注意:行表和列表的插入操作 算法分析:T(n)=O(t?s) 其中:t—非零元个数 s = max(m, n) 例子 * * 4 1 8 ^ ^ 2 3 4 ^ ^ m=4,n=3 1,1,3 2,2,5 2,3,4 4,1,8 2,1,7 1 1 3 ^ ^ 2 1 7 ^ ^ 2 2 5 ^ ^ 5.4 广义表的定义 顾名思义,广义表是线性表的推广,也有人称之为列表(Lists用复数形式以示与统称的表list的区别)。 LISP语言,把广义表示为基本的数据结构,就连程序也表示为一系列的广义表。 LS=(a1, a2, …, an) 其中,LS是广义表(a1, a2, …, an)的名称, n是它的长度。 在线性表的定义中, ai (1≤i≤n)只限于是单个元素。而在广义表的定义中, ai可以是单个元素,也可以是广义表,分别称为广义表LS的原子和子表。 习惯上,用大写字母表示广义表的名称,用小写字母表示原子。当广义表LS非空时,称第一个元素a1为LS的表头(Head),称其余元素组成的表为LS的表尾(Tail)。 * * 广义表的定义-续 广义表的定义是一个递归的定义,因为在描述广义表时又用到了广义表的概念。 * * 广义表的特征 根据前述对表头、表尾的定义可知:任何一个非空列表其表头可能是原子,也可能是列表.而其表尾必定为列表。 值得提醒的是列表()和(())不同。前者为空表.长度n=0;后者长度n=1,可分解得到其表头、表尾均为空表()。 * * 5.5 广义表的存储结构 通常采用链式存储结构 每个数据元素可用一个结点表示 * * 例1 在这种存储结构中有几种情况: (1)除空表的表头指针为空外,对任何非空列表,其表头指针均指向一个表结点,且该结点中的hp域指示列表表头(或为原子结点,或为表结点),tp域指向列表表尾(除非表尾为空,则
您可能关注的文档
- 人教版同步教参英语八上-第12讲 I'm goingto study computer science提高篇.docx
- 人教版同步教参英语八上-第13讲 Will people have robots基础篇.docx
- 人教版同步教参英语八上-第14讲 Will people have robots提高篇.docx
- 人教版同步教参英语八上-第15讲 How do you make a banana milk shake基础篇.docx
- 人教版同步教参英语八上-第16讲 How do you make a banana milk shake提高篇.docx
- 人教版同步教参英语七上-第1讲 My name's Gina 基础篇.docx
- 人教版同步教参英语七上-第2讲 My name's Gina 提高篇.docx
- 人教版同步教参英语七上-第3讲 This is my sisiter 基础篇.docx
- 人教版同步教参英语七上-第4讲 This is my sisiter 提高篇.docx
- 人教版同步教参英语七上-第5讲 Is this your pencil 基础篇.docx
原创力文档


文档评论(0)