文学研究助手

如有错误多多指正! 

【问题描述】

     文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。试写一个实现这一目标的文字统计系统,称为"文学研究助手"。

【测试数据】

      以你的C源程序模拟英文小说,C语言的保留字集作为待统计的词汇集。

【实现提示】

    约定小说中的词汇一律不跨行。这样,每读入一行,就统计每个词在这行中的出现次数。出现位置所在行的行号可以用链表存储。若某行中出现了不止一次,不必存多个相同的行号。

    如果读者希望达到选做部分(1)和(2)所提出的要求,则首先应把KMP算法改写成如下的等价形式,再将它推广到多个模式的情形。

这个主要使用了KMP算法,并且这个KMP算法的next数组是从下标从1开始的,学习注意参考:KMP算法(快速模式匹配算法)详解以及C语言实现 (biancheng.net)

在此处可以引出KMP算法的学习以及解释(下标从0开始): (61条消息) 【详解】KMP算法——多图,多例子(c语言)_Zero0Tw0的博客-优快云博客

使用

目录

使用KMP算法:

未使用KMP算法:


KMP算法:

#include<stdio.h>
#include<stdlib.h>
#define MaxSize 1000//定义串的长度;
typedef char SString[MaxSize + 1];//定义一个字符数组,并取别名;
int next[MaxSize];//用于kmp算法,主要存储每个字符的前后缀的值;
int length(SString str){
	int i=1;
	while(str[i]){
		i++;
	}
	return i-1;
}
void get_next(SString T,int nextval[]){
//	int i,k; 
//    i=1,k=0;
//    next[1]=0; //next数组是与p传长度相同的int型数组,数组的每个位置记录了模式串串对应位置匹配失败后要回溯的下标。
//    while(i<T[0]){//T[0]储存的是字符串的长度, 
//    	if(k==0||T[i]==T[k]){
//    		++i;
//    		++k;
//    		next[i]=k;
//		}
//		else{
//			k=next[k];//否则k只的值回溯 
//		}
//	}
	int i=1;     
    next[1]=0;
    int k=0;
    while (i<T[0]) {
        if (k==0||T[i-1]==T[k-1]) {
            i++;
            k++;
            if (T[i-1]!=T[k-1]) {
            
ChatGPT 和文心一言 | 两大AI助手哪个更胜一筹 百度「文心一言」是百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文 等任务。文心一言生成的文字可以作为创作灵感的起点,为作者提供新的思路和构思,有助于创作更加丰富和深刻的文学作品。最终,取决于你的具体用途和喜好。 阅读详情

相关推荐

大语言模型的文学理解力到底是什么

文学理解力是人工智能在自然语言处理中的一项高阶认知能力,涉及语义表征、文化语境建模与动态推理等多重机制。其底层原理并非简单词频统计或模式匹配,而是文本在神经网络中形成的多层语义映射与因果结构。技术价值在于支撑教育科技、出版数字化、AI内容生成等场景中对‘真实性’与‘可靠性’的核心诉求——避免模型‘正确地错误’。典型应用场景包括古籍智能校勘、AI书评生成、语文教学辅助及跨文化文学分析。本文聚焦LLM文化常识建模与文学知识表征,通过训练数据偏置分析与四层穿透式探针,揭示当前模型在隐喻解码、体裁意识与美学范畴区分

stevenbill的博客 400

AI翻译+译后编辑:文学翻译中人类与AI的协作进化之路

机器翻译作为自然语言处理的核心应用,其原理是通过算法模型学习语言间的映射关系,实现跨语言信息转换。随着大语言模型技术的发展,翻译的准确性和上下文理解能力显著提升,其技术价值在于能高效处理海量基础文本,极大解放了译者的重复性劳动。在文学、本地化等高要求应用场景中,AI生成的译文可作为高质量的“第一稿”,但文化意象传递、文学风格把握和情感韵律再现等深层任务仍需人类智慧。译后编辑正是这一协作模式的关键,它要求编辑者兼具“质检员”的严谨与“艺术家”的创造力,对AI输出进行文化校准、风格重塑与情感注入。本文以阿拉伯语

weixin_34079177的博客 364

DeepSeek炫酷玩法大放送:让AI成为你的超级助手

DeepSeek作为一款集深度逻辑推理、卓越中文理解与人性化交互于一身的AI工具,正以其独特的魅力和无限潜力,成为越来越多用户心中的“超级助手”。通过掌握并灵活运用上述炫酷玩法和提问技巧,你不仅能够让DeepSeek更加懂你、更加有用,还能在与AI的互动中不断提升自己的思维能力和创造力。展望未来,随着技术的不断进步和应用的不断深化,DeepSeek有望在更多领域发挥更大的作用和价值。无论是教育、医疗、金融还是娱乐等领域,DeepSeek都将成为推动行业创新和发展的重要。

专业深耕,技术前沿 1562

AI应用架构师依靠物理研究科研AI智能体,挖掘宇宙奥秘的隐藏线索

想象一下,天文学家每天要面对来自太空望远镜的10TB数据(相当于2万部电影),粒子物理学家要从10亿次碰撞事件中筛选出1次可能的新粒子信号——宇宙的线索就藏在这些"数据海洋"里,但人类的大脑就像拿着放大镜在撒哈拉沙漠找一粒特定的沙子。本文的目的,就是揭开AI应用架构师如何搭建"超级寻宝机"(科研AI智能体),帮助物理研究者高效挖掘这些宇宙线索。我们将聚焦三个核心问题:科研AI智能体的"身体结构"是什么样的?它们如何"看懂"宇宙数据的语言?又如何在实际物理研究中发现人类容易忽略的奥秘?核心概念站。

小程序开发 986

从数据清洗到结果可视化:AI智能助手全流程辅助物理学研究,应用架构师揭秘突破细节

AI智能助手在物理学研究中的全流程价值数据预处理:自动识别格式、转换类型,节省手动处理时间;数据清洗:用AutoEncoder去噪、KNNImputer填充缺失值、Isolation Forest检测异常值,提高数据质量;特征工程:用TSfresh自动提取时间序列特征、CNN提取图像特征、UMAP降维高维数据,保留有效信息;模型训练:用Transformer预测实验结果、CNN分类粒子类型,辅助验证假设;结果可视化。

AI智能探索者的博客 1000

Springboot 整合 Java DL4J 打造自然语言处理之智能写作助手

Spring Boot 是一个用于快速构建独立、生产级别的 Spring 应用程序的框架。它简化了 Spring 应用程序的开发过程,通过自动配置和约定优于配置的原则,使得开发者可以更加专注于业务逻辑的实现。在本项目中,Spring Boot 将用于构建后端服务,提供 RESTful API 接口,与前端进行交互。本文介绍了如何使用 Spring Boot 整合 Deeplearning4j 在自然语言处理领域实现一个智能写作助手。

在技术的广袤天地里,本博客如精准罗盘。剖析前沿科技,深掘代码奥秘,以精炼笔触,带您穿越复杂技术迷宫,速达知识彼岸。 9984

文学研究助手(AC自动机版本)

文学研究助手,AC自动机版本,数据结构 利用AC自动机只对文件进行一次扫描,统计要查询的单词在文档出现的次数及所在行

c++ 文学研究助手

c++ 文学研究助手 先读文件,然后显示该词所在的行,刚写完,有可能有BUG,但是主要功能应该没有问题

文学研究助手课程设计报告

数据结构一个很经典的课程设计大家可以借鉴一下

数据结构课程设计文学研究助手

【问题描述】 文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。试写一个 实现这一目标的文字统计系统,称为“文学研究助手”。 【基本要求】 英文小说存放于一个文本文件中。待统计的词汇集合要依次输入完毕,即统计工作必须在程序的一次运行之后就全部完成。 程序的输出结果是每个词的出现次数和出现位置所在行的行号,格式自行设计。 【选作内容】 (1)模式匹配要基于KMP算法 (2)整个统计过程中只对小说文字扫描一遍以提高效率

51单片机+HX711电子秤Proteus仿真保姆级教程(附完整源码与避坑指南)

本文详细介绍了51单片机与HX711电子秤在Proteus仿真中的全流程实战指南,包括电路设计、核心代码实现、典型问题排查及系统集成等关键步骤。特别提供了HX711驱动程序的编写技巧和称重数据处理算法,帮助开发者快速搭建高精度电子秤仿真系统,并避免常见的设计陷阱。

weixin_30752699的博客 414

基于CNN的表情识别(FER)pytorch实现

Report for FER Jian Tang Abstract 我们使用卷积神经网络(CNN)实现了baby的面部表情识别(FER)。 数据上,我们获取了开源FER数据集FER2013[1],besides我们使用爬虫获取了baby相关的人脸图片,进行了手工分类标注以形成一个全新的baby FER数据集。 模型上,我们首先复现了Luan[2]的工作,即参考Kuo[3]在CVPR 2018上的工作并实现一个轻量的CNN网络,在FER2013上进行训练并得到了XXXX%的平均分类准确率(avg a

qq_20241587的博客 3683

YOLOv8深度集成SDFM:显著增强特征细节与多尺度融合,实现小目标检测革命性提升

本文介绍了如何将SDFM(Superficial Detail Fusion Module)模块集成到YOLOv8目标检测模型中,以提升特征融合效能。SDFM通过精细的特征预校准、通道注意力机制和动态加权融合策略,有效解决了多尺度特征融合中的细节保留问题。实验表明,集成SDFM后YOLOv8的mAP50-95提升12.7%,召回率提升9.0%,精确率提升5.9%,显著增强了模型性能。教程详细阐述了SDFM的工作原理、代码实现步骤及优化思路,为研究者和开发者提供了实用的技术指南。

FJN110的博客 117

FPGA/IC 秋招笔试/面试题总结(续)

FPGA/IC 秋招笔试/面试题总结(续)来啦… 文章目录二十七、状态机1. Moore/Mealy状态机2.一、二、三段式状态机 二十七、状态机 1. Moore/Mealy状态机 (1)Moore状态机: 输出只由当前状态决定,即次态=f(现态。输入),输出=f(现态) Moore型状态机的输出信号是直接由状态寄存器译码得到的。 Moore型状态机检测序列1101如下 Moore型状态机输出函数只由状态变量决定,想要输出Z=1,必须S4状态形成,即寄存器中的1101都打进去后才可以。输出Z=1会在

Crazzy_M的博客 2万+

RK356x U-Boot研究所(命令篇)3.10 bidram与sysmem相关命令的作用

RK356x U-Boot研究所(命令篇)3.10 bidram与sysmem相关命令的作用

Systemcall名屋 624

Scratch全攻略:从入门到实践的编程之旅

Scratch 是一款由麻省理工学院(MIT)开发的图形化编程工具 ,它诞生的初衷是为了让编程教育更加普及,尤其是让孩子们能够轻松接触和学习编程。与传统的基于文本代码的编程方式不同,Scratch 通过将编程指令以图形化的积木形式呈现,极大地降低了编程的门槛,让编程变得如同搭积木一样简单有趣。

邓邓子的博客 1万+

Ascend开发包Acllite安装

设置环境变量,配置程序编译依赖的头文件,库文件路径。“$HOME/Ascend”请替换“Ascend-cann-toolkit”包的实际安装路径。将YOLOV7原始模型转换为适配昇腾310处理器的离线模型(*.om文件),放在model路径下。运行完成后,会在样例工程的out目录下生成推理后的图片,显示对比结果如下所示。可以使用以下两种方式下载,请选择其中一种进行源码准备。请从以下链接获取该样例的输入图片,放在data目录下。执行以下命令,执行编译脚本,开始样例编译。执行运行脚本,开始样例运行。

如果想成为中心,那么就到中心去吧。 318

【2026最新】3分钟Windows极速部署OpenClaw,完整可复制命令+全链路避坑指南

很多新手在Windows环境部署OpenClaw时,总会遇到各种玄学问题:WSL环境配置失败、Docker镜像拉取超时、容器启动后无法访问、权限报错、数据丢失……网上大量教程要么是Linux环境的,要么是早已过时的旧版本配置,照着操作不仅没法3分钟部署,反而要花几小时踩坑填坑。

2601_94871597的博客 494

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

上一篇: 魔王语言-数据结构
下一篇: 银行定期储蓄管理系统 (链表+文件实现)
纯愚
博客等级 码龄6年 68粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值