朴素匹配算法 :效率分 析 ? 假定目标 T 的长度为 n ,模式 P 长度为 m , 且 m ≤ n ? 在最坏的情况下,每一次循环都不成功,则 一共要进行比较( n-m+1 )次 ? 每一次“相同匹配”比较所耗费的时间,是 P 和 T 逐个字符比较的时间,最坏情况下,共 m 次 ? 因此,整个算法的最坏时间开销估计为 O(mn) 朴素匹配算法 : 最差情况 ? 模式与目标的每一个长度为 m 的子串进行比较 ? 目标形如 a n , 模 式形如 a m-1 b ? 总比较次数: O(n-m+1) ? 时间复杂度: O(mn) AAAA A AAAAAAAAAAAAAAAAA AAAAB 5 次比较 A AAAA A AAAAAAAAAAAAAAAA AAAAB 5 次比较 AA AAAA A AAAAAAAAAAAAAAA AAAAB 5 次比较 AAA AAAA A AAAAAAAAAAAAAA AAAAB 5 次比较 ………… AAAAAAAAAAAAAAAAA AAAAA AAAAB 5 次比较 i ++; } if( d[i] = =\0 s[i] != \0) return -1; else if (s[i] = = \0 d[i] != \0) return 1; return 0; } 3.3.1 C++ 标准串运算的实现 ( 续 ) ? 【算法 3-3 】求字符串的长度 int strlen(char d[]) { int i =0; while (d[i] != 0) i++; return i; } 3.3.1 C++ 标准串运算的实现 ( 续 ) ? 【算法 3- 4 】寻找字符 char * strchr(char *d , char ch) { // 按照数组指针 d 依次寻找字符 ch , // 如果找到 ch ,则将指针位置返回, // 如果没有找到 ch ,则为 0 值。 i = 0; // 循环跳过那些不是 ch 的字符 while (d[i] != 0 d[i] != ch ) i++; // 当本串不含字符 ch ,则在串尾结束; // 当成功寻找到 ch ,返回该位置指针 if (d[i] = = 0) return 0; else return d[i] ; } 3.3.1 C++ 标准串运算的实现 ( 续 ) ? 【算法 3-5 】反向寻找字符 char * strrchr(char *d , char ch) { // 按照数组指针 d ,从其尾部反着寻找字符 ch , // 如果找到 ch ,则将指针位置返回, // 如果没有找到 ch ,则为 0 值。 i = 0; // 找串尾 while (d[i] != \0 ) i++; // 循环跳过那些不是 ch 的字符 while (i=0 d[i] != ch ) i--; // 当本串不含字符 ch ,则在串尾结束; // 当成功寻找到 ch ,返回该位置指针 if (i0) return ‘ \ 0; else return d[i] ; } 3.3.2 String 串运算的实现 ( 续 ) ? 【算法 3-7 】创建算子 (constructor) String::String(char *s) { // 先要确定新创字符串实际需要的存储空间, s 的类 // 型为 (char *) ,作为新创字符串的初值。确定 //s 的长度,用标准字符串函数 strlen(s) 计算长度 size = strlen(s) ; // 然后,在动态存储区域开辟一块空间,用于存 // 储初值 s ,把结束字符也包括进来 str = new char [size + 1]; // 开辟空间不成功时,运行异常,退出 assert(str != \0); // 用标准字符串函数 strcpy ,将 s 完全 // 复制到指针 str 所指的存储空间 strcpy( str, s ); } 拷贝构造函数 String:: String(const String copy); { size=copy.size
您可能关注的文档
- 成本费用控制策略和方法资料57页.ppt
- 成都华润万象城文档39页.ppt
- 我国人口计生政策的发展与演变43页文档.ppt
- 我对人生观和为人处事的一些理解 蔡伟忠0530共17页文档.ppt
- 我看自主游戏共19页.ppt
- 战略人力资源管理解决方案资料49页.ppt
- 战略第二章第二节37页.ppt
- 房地产公司营销管理流程培训讲义 精选文档 文档.ppt
- 房地产行业个人职业发展前景规划29页文档.ppt
- 房地产项目物业移交方案 课件 文档资料.ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
原创力文档

文档评论(0)