- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 与比较
您可能关注的文档
最近下载
- MSL防潮等级-J-STD-020(湿度敏感等级分类解说).docx VIP
- 湖北省襄阳市保康县第一中学2021年高一地理期末试题含解析.docx VIP
- 小学数学新苏教版三年级上册全册教案(2025秋新版).doc
- 202X年幼儿园安全教育主题班会 春风为伴 安全与我童行 课件PPT.pptx VIP
- 2025年高考化学二轮复习课件 第01讲 钠及其重要化合物.pdf VIP
- 危重症患者护理案例分析.docx VIP
- 2025年高考化学二轮复习课件 第03讲 镁、铝及其重要化合物.pdf VIP
- 2025年高考化学二轮复习课件 第03讲 氮及其重要化合物.pdf VIP
- 2025至2030爆炸物探测扫描仪行业发展趋势分析与未来投资战略咨询研究报告.docx
- 浙江省J12共同体联盟2024-2025学年九年级上学期期中语文试题(含答案).pdf VIP
文档评论(0)