数据结构部分习题解答.docVIP

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

习题二 2-4、以下声明有什么错误?为什么? template class T bool SeqListT::operator==(SeqListT list) //比较两个顺序表对象是否相等 { return this-count==list.count this-element==list.element; } 【答】在深拷贝的含义下,两个顺序表相等意味着:两个顺序表长度相同且所有元素值相等。而不是两个顺序表对象的所有成员变量值对应相等。 比较两个顺序表对象是否相等的多种情况如图2.4所示,函数实现见教材第40页。 比较两个顺序表对象是否相等顺序表的深拷贝(顺序表元素是指针或引用类型) 2-5、已知结点类NodeT有数据域data和指针域next,写出下列数据结构的声明。 【答】table可声明为数组或顺序表。 (a)元素为结点指针或单链表对象,声明为以下之一: NodeT* table[N]; //一维静态数组,元素为结点指针 NodeT **table; //一维动态数组,元素为结点指针 SinglyListT *table; //一维动态数组,元素为单链表对象 SeqListNodeT* table; //顺序表,元素为结点指针 SeqListSinglyListT table; //顺序表,元素为单链表对象 (b)元素为结点,声明为以下之一: NodeT table[N]; //一维静态数组,元素为结点 NodeT *table; //一维动态数组,元素为结点 SeqListNodeT table; //顺序表,元素为结点 、oubleNode类能否继承单链表结点类Node?为什么? 【答】不能。因为,如果DoubleNode类声明如下,继承单链表结点类Node。 template class T class DoubleNode : public NodeT //双链表结点类,继承单链表结点类 { DoubleNodeT *prev; //指向前驱结点的指针域 }; 该类声明没有语法错,但语义不对,因为next类型为NodeT,next指向双链表结点,类型是DoubleNodeT。template class T class DoubleNode //双链表结点类 { T data; //继承基类的成员变量 NodeT *next; //继承基类的成员变量,数据类型错误 DoubleNodeT *prev; }; 习题三 3-7、Brute-Force模式匹配算法的主要特点是什么?算法思路是怎样的?给出最好情况和最坏情况及其时间复杂度。 【答】Brute-Force是一种带回溯的模式匹配算法,它将目标串中所有长度为m的子串依次与模式串匹配,如果一次匹配失败,则模式串再与目标串的下一个子串匹配。 Brute-Force算法最好情况下的时间复杂度是O(m),最坏情况下的时间复杂度是O(m×n)。 3-8、已知target=aaabaaab、pattern=aaaa,画出采用Brute-Force算法的模式匹配过程,给出比较结果、子串匹配次数和字符比较次数。 【答】比较结果:匹配不成功,匹配子串位置为-1;子串匹配5次,字符比较14次。 模式串aaaa的Brute-Force算法模式匹配过程 3-9、已知target=abcababcabababcababc,pattern=ababcababc,求模式串改进的next数组,画出KMP算法模式匹配过程,给出比较结果,以及子串匹配次数和字符比较次数。 本题目的:理解改进next数组的next[j]=next[k]。 【答】比较结果:匹配成功,匹配子串位置为10;子串匹配3次,字符比较21次。 模式串ababcababc的next数组 j 0 1 2 3 4 5 6 7 8 9 模式串 a b a b c a b a b c 中最长相同的前后缀子串长度k (1 0 0 1 2 0 1 2 3 4 与比较

文档评论(0)

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

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

1亿VIP精品文档

相关文档