- 1
- 0
- 约1.52万字
- 约 50页
- 2016-09-25 发布于湖北
- 举报
精品计算机课件《c语言数据结构》第04章串腺.ppt
第4章 串(String) 主要内容 若干术语: 串的抽象数据类型定义(参见教材P71) 复习:C语言中常用的串运算 例1: 设 s =’I AM A STUDENT’, t =’GOOD’, q=’WORKER’。求: (参见P71) 提问: 当s =’I AM A STUDENT’时, INDEX(s,’A’,pos)=3,若想搜索后面那个‘A’怎么办? 例2:设 s =’I AM A STUDENT’, t =’GOOD’,求: Concat( SubString(s,6,2), Concat( t,SubString(s,7,8) ) ) =? 4.2 串的表示和实现 定长顺序存储特点:用一组连续的存储单元来存放串,直接使用定长的字符数组来定义,数组的上界预先给出,故称为静态存储分配。 例:用顺序存储方式编写求子串函数SubString(Sub,S,pos,len) 堆分配存储特点:仍用一组连续的存储单元来存放串,但存储空间是在程序执行过程中动态分配而得。 例1:编写建堆函数 (参见教材P76) 例2:用“堆”方式编写串插入函数 (参见教材P75) 链式存储特点 :用链表存储串值,易插入和删除。 4.3 串的模式匹配算法 BF算法的实现—即编写Index(S, T, pos)函数 2007百度笔试题:编程1:找出字符串的最长不重复子串并输出其长度。实现时有无O(n)的算法?编程2:找出一个字符串的最长回文子串,并使算法效率尽量高。 第4章 串(String) 主要内容 链式存储特点 :用链表存储串值,易插入和删除。 4.3 串的模式匹配算法 BF算法的实现—即编写Index(S, T, pos)函数 BF算法的时间复杂度 讨论: 若n为主串长度,m为子串长度,则串的BF匹配算法最坏的情况下需要比较字符的总次数为 KMP算法(特点:速度快) ① KMP算法设计思想 ② KMP算法的推导过程 ③ KMP算法的实现 (关键技术:计算next[j]) ④ KMP算法的时间复杂度 ① KMP算法设计思想: (参见教材P80-84) ② KMP算法的推导过程:(见教材P81) 新起点 k怎么求? (1) next[ j ]有何物理意义?
您可能关注的文档
最近下载
- (2026年)中华护理学会成人肠内营养支持护理团标解读PPT课件.pptx VIP
- 高速国企面试题目及答案.doc VIP
- 广东广州越秀区2024-2025学年四年级上学期期末考试数学试卷含答案.pdf VIP
- 威尼斯商人中英文对照.pdf VIP
- 高速公路路面基层施工方案(基层通用方案).docx VIP
- YB∕T 4082-2020 钢管、钢棒自动超声检测系统综合性能测试方法.pdf
- 小葵花幼儿园中大班“我需要充足的营养”教案.doc VIP
- 《低代码开发平台在智能物流配送调度中的应用与实时优化》教学研究课题报告.docx
- XC2005位置控制仪使用说明书-wx.doc VIP
- 食品企业不合格品处置记录(直接打印).pdf VIP
原创力文档

文档评论(0)