严蔚敏数据结构学习笔记四.串

【数据结构】算法4.2&4.3 串连接Concat&求子串SubString /* 串的定长顺序存储表示 */ #include<stdio.h> #include<string.h> #include<stdlib.h>#define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0#define MAXSIZE 40 #define MAXSTRLEN 6 //最大字符串 typedef int Status; t 阅读详情

第四章,串
4.1串的抽象数据类型定义
串的逻辑结构和线性表极为相似,区别仅在于串的数据对象限定为字符集。然而,串的基本操作和线性表有
很大差别。在线性表的基本操作中,大多以"单个元素"作为操作对象,如:在线性表中查找某个元素,求取某个元素,在某个位置上插入一个元素和删除一个元素等;而在串的基本操作中,通常以" 串的整体"作为操作对象,如:在串中查找某个子串,求取一个子串,在串的某个位置上插入一个子串以及删除一个子串等。
4.2串的表示和实现
一,串的定长顺序存储表示(顺序)
0号单元存放串的长度,串的长度受最大长度以限制,所以操作中有时需零"截断"
按这种串的表示方法实现的串的运算时,其基本操作为"字符序列的复制"
二,串的堆分配存储表示(顺序)
先为新生成的串分配一个存储空间,然后进行串值的复制
三,串的块链存储表示(链)
每个结点存放的不是单个元素,而是一个子串
4.3串的模式匹配算法(子串定位)
一,简单算法
二,首尾匹配算法
先比较模式串的第一个字符,再比较模式串的最后一个字符,最后比较模式串中从第二个到第N-1个字符。
三,KMP算法:(详情见NO.11~12.asf)其时间复杂度可达到O(m+n)
求NEXT值算法及修正算法

例题算法
求串S中出现的第一个最长重复子串及其位置。
"重复子串":SubString(S,i,len)==SubString(S,j,len)&1<=i<j<=StrLength(S)&1<=len<=StrLength(S)-j+1
如S='aaaaaa'的最长重复子串为T='aaaaa'
其算法有很多种时间复杂度最低为平方级,最高可达4次方,在此介绍种用求next函数的算法其时间复杂度可达平方级
next[j]!=0表明在第J个字符前存在长度为next[j]-1重复子串(但是从第一个字符开始,所以本题算法为求子串的next函数值)
由此,算法的基本思想为:求串pat=SubString(S,i,StrLength(S)-i+1)的next函数值,i=1,2,...,StrLength(S)-1并从中求最大值
 
《数据结构》| 第四章 串 知识梳理 串  目录 1.理解串的基本概念。 2.掌握串的一些基本操作及其实现。 3.了解串的三种基本存储结构。 系列索引:《数据结构》C语言版 (清华严蔚敏考研版) 全书知识梳理   1.理解串的基本概念。 2.掌握串的一些基本操作及其实现。   3.了解串的三种基本存储结构。 ... 阅读详情

相关推荐

【数据结构系列】严蔚敏C语言版算法实现并附带详细注释(逐步更新)

数据结构在编程过程中是不可或缺的,是举足轻重的,想要编写出一个好的程序,学好数据结构这门学科是必经之路。本文是各种数据结构实现的目录文章,我会在我学习数据结构这门课程的过程中逐步更新其中的内容。.................................

weixin_65334260的博客 5026

数据结构C语言版清华大学严蔚敏(学习笔记总结2,代码在下面)——串和数组、矩阵存储、压缩矩阵、转置矩阵、对称矩阵、广义表、稀疏矩阵(前面是笔记方便理解,最下面有详细代码)

串(即字符串)是一种特殊的线性表,它的数据元素仅由字符组成。 串是由零个或多个字符组成的有限序列。串中任意连续个字符组成的子序列称为子串。子串的第一个字符在主串中的序号,定义为子串在主串中的位置,该位置索引从0开始。 特别的,空串是任意串的子串,任意串是自身的子串。 串的逻辑结构与线性表极为相似,区别仅在于串的数据对象约束为字符集,但操作有很大差别。 求子串,从第i位置的字符开始抽出j个字符构成一个新的串。j<=strlen(s)+1-i; 1.顺序存储 typedef st...

硕士在读小菜鸟的博客 972

收藏 《数据结构(C语言版)视频全集》—清华大学严蔚敏主讲

eMule资源 下面是用户共享的文件列表,安装eMule后,您可以点击这些文件名进行下载 数据结构(清华严蔚敏)_数据结构01.asf 详情 55.4MB 数据结构(清华严

Mobidogs Blog 1万+

严蔚敏版数据结构学习笔记(5):串

串(string),由字面意思理解就知道是和字符串有关的一种数据结构,它是由零个或者多个字符组成的有限序列,一般记为 s = ‘a1a2a3……an’(n>=0); 其中s为串名,用单引号括起来的字符序列是串的值,ai可以是字母,数字,或者是其他字符; 只有两个串的值相等才能称两个串是相等的,串值必须要用两个单引号括起来,但是单引号并不包含在串中,单引号的作用只是避免与变量名或者数的常量混淆。

三年七班陈信宏的博客 564

数据结构(C语言版)严蔚敏李冬梅(第2版)课后习题答案

数据结构(C语言版)严蔚敏(第2版) 课后习题答案 李冬梅 2015.3 目 录 [第1章 绪论]{.underline} 1 [第2章 线性表]{.underline} 5 [第3章 栈和队列]{.underline} 13 [第4章 串、数组和广义表]{.underline} 26 [第5章 树和二叉树]{.underline} 33 [第6章 图]{.underline} 43 [第7章 查...

sjltt的博客 8926

数据结构(严蔚敏版)学习要点总结(一)

一、数据结构基本概念 1.数据:对客观事物的符号表示  数据元素:数据的基本单位  数据对象:性质相同的 数据元素 的集合  数据结构:相互之间存在一种或多种特定关系的数据元素的集合 2.数据元素之间的关系由两种表示:顺序映像和非顺序映像->顺序存储和链式存储 3.数据类型:是一个 值的集合 和定义在这个值集上的 一组操作 的总称 4.抽象数据类型:指一个数学模型以及定义在该模型

Anole的博客 6030

数据结构 严蔚敏 第四章 串、数组和广义表

数据结构 严蔚敏 第四章 串、数组和广义表 期末复习总结

qq_51603003的博客 484

实现串赋值、串比较、求串长、串联接以及求子串这5种基本操作。

实现串赋值、串比较、求串长、串联接以及求子串这5种基本操作。 能利用上述实现的基本操作完成置换Replace (&S, T, V)以及从串中删除一段子串StrDelete(&S,pos,len)的操作。

数据结构(严蔚敏版)第四章——串、数组和广义表

串(String):零个或多个任意字符组成的有限序列 数组:按一定格式排列起来的,具有相同类型的数据元素的集合。 广义表(又称列表Lists)是n >= 0个元素$a_0, a_1, ... ,a(n-1)$的有限序列,其中每一个a~i~或者原子,或者一个广义表。

java小豪的博客 2362

数据结构 严蔚敏 串 string

数据结构 严蔚敏 串 string

骗分导论 CSP、NOIP、蓝桥杯、PAT、USACO等竞赛的算法骗分技巧 轻松省三

问题来了,那么多座桥,炸一座就破坏岛屿的联系,可能性微乎其微(除非特别设计数据)。它们的价值极大,不仅能初步帮你检验程序的对错,而且,如果你不会做这道题,你就可以直接输出样例!在OI考试中最后难的题数据最后的几个,他们往往不会创造新的数据,此时就可以直接输出最后几个数据了。需要运用《骗分导论》第3章中学到的知识,先写出朴素算法,然后造一些数据,可能就会发现规律。有些时候,问题的答案可能很有特点:对于大多数情况,答案是一样的。据说,在NOIP2013中,有人最后一题不会,愤然打了个随机数,结果得了。

星卯教育-信奥教练tony 6407

串-第4章-《数据结构题集》答案解析-严蔚敏吴伟民版

习题集解析部分 第4章 串 ——《数据结构题集》-严蔚敏.吴伟民版        源码使用说明  链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接☛☛☛ 《数据结构》课本源码合辑        习题集全解析  链接☛☛☛ 《数据结构题集》习题解析合辑         相关测试数据下载  链接☛ 数据包     ...

weixin_33898876的博客 6529

激光可燃气体传感器:核心技术环节分析

激光可燃气体传感器核心技术涵盖七个维度:1)TDLAS光谱吸收与调制技术(检测下限ppm级);2)DFB激光器与双闭环温控系统(波长稳定性±0.0036nm);3)微弱信号处理技术(信噪比提升60dB);4)环境补偿算法(温压补偿误差<±1%);5)本质安全防爆设计(ExiaIICT4Ga等级);6)智能边缘计算(STM32L476芯片);7)多重性能验证(响应时间<1秒)。通过微型化、多气体检测等创新,该技术已在工业安全等领域替代传统方案,实现高精度检测。(149字)

上市公司前技术负责人,20 年软硬件深耕 + 百人研发团队管理经验,名校理工科背景加持。从技术攻坚到团队掌舵,沉淀海量项目实战与管理心得,专注分享软硬件干货、疑难问题解决方案,既是靠谱知识传播者,也盼链接优质项目共成长。 1047

2021-10-16【严蔚敏数据结构代码实现合集】【c语言学习必备】

线性表 2021-9-14【数据结构/严蔚敏】【顺序表】【代码实现算法2.1-2.7】 2021-9-18【数据结构/严蔚敏】【单链表】【代码实现算法2.8-2.12】 2021-9-18【数据结构/严蔚敏】【静态链表】【代码实现算法2.13-2.17】 2021-9-19【数据结构/严蔚敏】【双向链表】【代码实现算法2.18-2.19】 2021-9-19【数据结构/严蔚敏】【带头结点的线性表】【代码实现算法2.20-2.21】 2021-9-19【数据结构/严蔚敏】【一元多项式的表示及相加、相减、相乘

eternity_memory的博客 1万+

端侧部署与优化:让 AI 真正走进现实生活的关键技术

AI 的开发流程分为 “训练” 与 “推理” 两大阶段。在训练阶段,科研人员依托云端海量数据和高性能 GPU 算力,构建出精度优异的 AI 模型 —— 比如能识别 1000 种物体的图像分类模型、能理解人类语言的自然语言处理模型。但这些在云端 “战绩斐然” 的模型,若直接应用到现实场景中,却会面临三大 “落地困境”。从云端到端侧,从模型压缩到硬件适配,端侧部署与优化技术解决了 AI 落地的核心难题,让 AI 不再是实验室里的 “高精尖技术”,而是融入日常生活的 “实用工具”。

m0_63477749的博客 1053

直流电源EMI滤波器设计实战:从器件选型到PCB布局的完整指南

本文提供了一份直流电源EMI滤波器的完整实战设计指南。针对EMI噪声超标问题,文章深入剖析了差模与共模噪声的抑制原理,详细讲解了从电路拓扑、核心器件(如X/Y电容、共模电感)的选型计算,到决定性能成败的PCB布局艺术。重点强调了低阻抗路径、干净接地及输入输出隔离等关键布局原则,并分享了常见的调试坑点与排查方法,旨在帮助硬件工程师设计出真正有效的滤波器,确保电源系统通过EMC测试。

q9r0s的博客 644

【数据结构】严蔚敏版--学习&&复习笔记

----------------------------------------------------------- 写在前面: emmmmm,这个数据结构系列博客我会不定时持续更新,会在本文下边给出导航链接 关于实现形式的不同。在本书中给出的伪代码使用了C++部分内容,我在实现这本书中的算法时,我会使用C...

1900的博客 7485

win11重装系统简易教程-小白也可以上手!

本文介绍一下win11系统重装的各个步骤,也作为记录供自己后面查看。附上我之前参考的一位知乎大神写的重装win10系统文章的地址本文用到的工具全部是,不需要下载第三方镜像文件(不是说这个不好,只是第三方的软件或镜像文件网上非常多,琳琅满目,小白需要筛选甄别,直接用官方的就比较省心,大神请自便~)

Sddqa的博客 1万+

数据结构(C语言版)严蔚敏 习题详解(持续更新!)

笔者中山大学硕士,医学生+计科学生的集合体,机器学习爱好者。 现在正在进行数据结构的学习。 听的课程的是 MOOC浙江大学2012版。 学习教材为 数据结构(C语言版)严蔚敏 吴伟民 清华大学出版社 现分享总结的部分习题详细解析。欢迎批评指正! 为方便查阅,直接给出各章节部分习题详细解析的知乎链接。 数据结构(C语言版)严蔚敏——第一章 绪论(预备知识) 数据结构(C语言版)严蔚敏——第二章 线性...

Yukyin 3481

Kettle安装与使用

Pentaho Data Integration作为一个端对端的数据集成平台,可以对多种数据源进行抽取(Extraction)、加载(Loading)、数据落湖(Data Lake Injection)、对数据进行各种清洗(Cleasing)、转换(Transformation)、混合(Blending),并支持多维联机分析处理(OLAP)和数据挖掘(Data mining)。勺子(spoon.bat/spoon.sh):是一个图形化的界面,可以让我们用图形化的方式开发转换和作业。

jnrjian的博客 1万+

【数据结构】面试题整理 共36题

链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针。与数组不同,链表中的元素在内存中不必是连续存储的,这使得链表在插入和删除操作时非常高效。单向链表(Singly Linked List):每个节点只包含一个指向下一个节点的指针。双向链表(Doubly Linked List):每个节点包含两个指针,一个指向下一个节点,一个指向前一个节点。循环链表(Circular Linked List):链表的最后一个节点指向第一个节点,形成一个环。

weixin_44329069的博客 7202

数据结构(C语言版) 第 四 章 串、数组和广义表 知识梳理 + 作业习题详解

目录一、串二、KMP算法三、矩阵四、广义表五、作业习题 本系列博客为《数据结构》(C语言版)的学习笔记(上课笔记),仅用于学习交流和自我复习 数据结构合集链接: 《数据结构》C语言版(严蔚敏版) 全书知识梳理(超详细清晰易懂) 这一章实在没什么东西,我就放一些有点用的ppt和作业题吧(这一章的作业题写着是真的烦) 一、串 二、KMP算法 0x15.基本数据结构 — 字符串 (KMP算法(含详细证明)和最小表示法) 三、矩阵 四、广义表 五、作业习题 1.串是一种特殊的线性表,其特殊性

繁凡さん的博客 1万+

在 ABAP Push Channel 里玩转 Detached Client:用 Attach Handle 把 WebSocket 连接交接给业务逻辑

摘要:本文介绍了ABAP Push Channels (APC)中的Detached Client技术,该技术通过将WebSocket连接建立与后续处理分离,实现更高效的实时通信。核心流程包括创建连接、使用connect_and_detach交接连接、以及通过attach handle重新附着发送消息。文章还探讨了PCP协议和AMC技术在企业级推送场景中的应用,并通过示例代码展示了Detached Client的具体实现方式。这种设计解决了传统轮询的资源浪费问题,特别适用于生产线监控、客服系统等需要服务端主

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2330

IT女神节(致敬中国IT界永远的女神严蔚敏-数据结构)

我们都知道程序=数据结构+算法。相信很多人都学过严蔚敏的数据结构的课程。作为一个码农,在这不管是3.7女神节,还是3.8妇女节。我觉得都有必要向这些教育界的老前辈致敬。今天我就梳理梳理,最经典的数据结构教材。

JAVA领域优质创作者,基于分片网络查询方法专利发明者。 3575

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

c语言采用顺序存储结构存储串,试编写算法实现串的置换操作,串-第4章-《数据结构题集》答案解析-严蔚敏吴伟民版...

习题集解析部分第4章 串——《数据结构题集》-严蔚敏.吴伟民版源码使用说明链接☛☛☛《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明课本源码合辑链接☛☛☛《数据结构》课本源码合辑习题集全解析链接☛☛☛《数据结构题集》习题解析合辑相关测试数据下载 链接☛数据包本习题文档的存放目录:数据结构\▼配套习题解析\▼04 串文档中源码的存放目录:数据结构\▼配套习题解析...

weixin_39701288的博客 3612

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: 严蔚敏数据结构学习笔记五.数组和广义表
下一篇: 严蔚敏数据结构学习笔记六.树和二叉树
geting
博客等级 码龄20年 13粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值