能帮忙改一个查找单词的小程序吗题目:设集合S由若干单词(英文)组成,给定字符串K,在S中查找与K最佳匹配的结果.最佳匹配的结果定义为:与K有最长共同前缀的字符串.使用文件保存初始

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 09:09:51

能帮忙改一个查找单词的小程序吗题目:设集合S由若干单词(英文)组成,给定字符串K,在S中查找与K最佳匹配的结果.最佳匹配的结果定义为:与K有最长共同前缀的字符串.使用文件保存初始
能帮忙改一个查找单词的小程序吗
题目:设集合S由若干单词(英文)组成,给定字符串K,在S中查找与K最佳匹配的结果.最佳匹配的结果定义为:与K有最长共同前缀的字符串.使用文件保存初始的单词数据(至少100个),以逗号分隔.例:S={abc, bdef, zhen, zhao, abdd},K1=zhao,K2=abdf,K3=cheng,则与K1最匹配的结果是zhao,与K2最匹配的结果是abdd,与K3最匹配的结果是ε(空串).
#include
#include
const int sonnum=26;
struct TrieNode{ //结点结构体
int num; //到达该节点出的前缀个数
bool beach; //若是beach为true
struct TrieNode *son[sonnum]; //子节点指针
};
TrieNode *NewTrie(){ //创建新节点
TrieNode *newtrie=new TrieNode; //定义新结点
newtrie->num=1; //初始化当前单词个数只本身
newtrie->beach=false; //初始化为叶子节点,不存在子节点
for(int i=0;ison[i]=NULL;
return newtrie;
}
void Insert(TrieNode *tte,char *s,int len){ // 在TrieTree中插入新单词,TrieTree是根结点、
TrieNode *node=tte; //定义新结点指针作为当期结点指针指向根节点
for(int i=0;ison[s[i]-'a']==NULL) //如果子节点为空 (跟结点不存放字母)
node->son[s[i]-'a']=NewTrie();
else node->son[s[i]-'a']->num++;//非空)到达该节点的单词个数加一
node=node->son[s[i]-'a']; //当前节点指向下一个字母节点
}
node->beach=true; //最后一个结点设置为叶子节点
}
void Find(TrieNode *tte,char *s,int len){ //查找单词

TrieNode *node=tte; //定义新结点指针
cout

能帮忙改一个查找单词的小程序吗题目:设集合S由若干单词(英文)组成,给定字符串K,在S中查找与K最佳匹配的结果.最佳匹配的结果定义为:与K有最长共同前缀的字符串.使用文件保存初始
错误很多啊,cin的用法不对,安全处理不好,最重要的是查找逻辑的问题
都改了,测试成功.
#include
#include
#include
const int sonnum=26;
struct TrieNode{ //结点结构体
\x05int num; //到达该节点出的前缀个数
\x05bool beach; //若是beach为true
\x05struct TrieNode *son[sonnum]; //子节点指针
};
TrieNode *NewTrie(){ //创建新节点
\x05TrieNode *newtrie=new TrieNode; //定义新结点
\x05newtrie->num=1; //初始化当前单词个数只本身
\x05newtrie->beach=false; //初始化为叶子节点,不存在子节点
\x05for(int i=0;ison[i]=NULL;
\x05return newtrie;
}
void Insert(TrieNode *tte,char *s,int len){ // 在TrieTree中插入新单词,TrieTree是根结点、
\x05if(len==0) return;
\x05TrieNode *node=tte; //定义新结点指针作为当期结点指针指向根节点
\x05for(int i=0;ison[s[i]-'a']==NULL) //如果子节点为空 (跟结点不存放字母)
\x05\x05\x05node->son[s[i]-'a']=NewTrie();
\x05\x05else node->son[s[i]-'a']->num++;//非空)到达该节点的单词个数加一
\x05\x05node=node->son[s[i]-'a']; //当前节点指向下一个字母节点
\x05}
\x05node->beach=true; //最后一个结点设置为叶子节点
}
void Find(TrieNode *tte,char *s,int len){ //查找单词
\x05
\x05TrieNode *node=tte; //定义新结点指针
\x05cout

能帮忙改一个查找单词的小程序吗题目:设集合S由若干单词(英文)组成,给定字符串K,在S中查找与K最佳匹配的结果.最佳匹配的结果定义为:与K有最长共同前缀的字符串.使用文件保存初始 做一个可以查找单词的小程序 加我Q234602795 发单词表给你大概就这样的 能帮忙查找,九笔字,吗 怎样查找一个单词的音标 一个关于平均查找长度的数据结构判断题对有序表而言,采用折半查找方法查找表中的数据元素,其查找成功的平均查找长度一定比采用顺序查找方法时的平均查找长度要小 求帮忙判断下 数据结构的题目,用c语言编写下面的程序删除该英文句子的前导空格,厚道空格和句子中多余的空格(每两个单词只留一个空格)统计该句子中单词出现的频率查找并替换某个单词删除该英文 c++编程:能帮忙编一个输入数字然后排列数字大小的程序吗?以四个数字为例就行 帮忙用VFP设计一个小程序具体要求私聊,积分无所谓.能设计可以出钱,淘宝交易. 用c++编写一个查找1~n之间的质数的程序 小学算术运算测试功能要求:制作一个可供小学数学运算程序:10以内加减法,能根据输入题数出题,判断做题是否正确,最后计算分数.或者另一题:在一篇文章中查找某个单词出现的次数 要求 C语言程序:倒序打印26个英文字母(程序改错)请帮忙改改错,让此程序能够实现题目要求 我要看一篇英语文章,怎么能快速查找并定位出 我的核心单词出现的位置.因为短时间要看大量英文文献 但是每篇都很长,英语又不好,想快速定位出核心词汇出现的位置,有什么程序或者办法吗 数据结构题目:才用折半查找算法在长度为12的有序表中查找一个元素时,查找成功的平均查找长度为多少?...数据结构题目:才用折半查找算法在长度为12的有序表中查找一个元素时,查找成功 英语好的朋友请帮忙“what would happen if man loses speech”请帮忙围绕这个题目,写一个100个单词的小文章,重谢.这句话是这个意思:如果我们不会说话了,将会怎么办。 小雪花的程序您好能给我发一份桌面小雪花和樱花的那个程序吗? 《爱在看似无情的话语中》老师说这个题目太长了谁能帮忙改一下,本意不变. 谁能给我一个科学小论文的题目 C语言程序的一个小问题哦 能帮忙解释下 for(p=a q=b;*p&&*q&&*p==*q,q++,p++)什么意思啊!急!要中文解释啊!