- 2
- 0
- 约4.11千字
- 约 6页
- 2024-03-28 发布于湖北
- 举报
PAGE2/NUMPAGES6
数据结构上机报告
——找出最长公共子串
?实验描述:
给定串T=t1t2……tn,则串,(即T中顺序、连续的一部分)称为串T的子串。例如“sing”、“ua”和“Tsinghua”都是字符串“Tsinghua”的子串,而“Thu”和“xyz”不是。
若串同时是多个串的子串,则称为的公共子串。
结合课上所学的算法设计思想,设计算法,对于给定的两个字符串,找出长度最长的公共子串。
?算法描述:
按照题目要求,需要找出两个字符串的最大公共字串。我设计的算法为用一个矩阵(intIs_equal[][])来记录两个字符串的所有字符之间的匹配情况,如果不匹配则即为0,否则不为0,而这里的计数规则下面将继续进行说明。从上面的叙述中可以知道,当用矩阵来记录两个字符串的匹配情况时,如果出现匹配字串,那么在矩阵中一定是在对角线的位置,而最长的对角线即对应最长的字符字串。在构造矩阵的时候,如果出现字符匹配那么就按照语句Is_equal[i][j]=Is_equal[i-1][j-1]+1给矩阵元素赋值,即匹配位置的元素的大小为其左上角元素加1。用一个变量max_len来记录最长字串的长度,另一个变量flag_x记录最长字串中的最后一个字符在字符串1中的位置。这样,在构造完矩阵之后也就找到了最长的字串。
?复杂度分析:
由上面算法描述中的分析可以知
您可能关注的文档
最近下载
- (正式版)H-G∕T 5459-2018 废旧轮胎裂解炭黑.docx VIP
- 在全镇常态化帮扶工作推进会上的讲话.doc VIP
- 2025中国联通春季校园招聘笔试备考题库附答案解析.docx VIP
- 国家公务员考试《行测》真题及答案(完整版).doc VIP
- 土方开挖施工方案(适用于独立基础).doc VIP
- 建筑工程冬期施工规程(JGJ-T-104-2011).ppt VIP
- 22G101平法图集文档.pptx VIP
- 2025年中考化学一轮复习全册1-12单元22个必考实验大全(背诵+默写)含答案.pdf VIP
- 2026国家公务员行测真题答案解析.pdf VIP
- 2025中国联通新苗计划秋季校园招聘笔试备考题库附答案解析.docx VIP
原创力文档

文档评论(0)