求判断字符串是否是拼音的成熟算法给定一个字符串如qiaodang,shuangyue等,用算法判断其是否是拼音或者拼音组合,什么语言都行,重点讲算法的实现给定一个连续的只包含字母的字符串如guangangei

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 23:39:39
求判断字符串是否是拼音的成熟算法给定一个字符串如qiaodang,shuangyue等,用算法判断其是否是拼音或者拼音组合,什么语言都行,重点讲算法的实现给定一个连续的只包含字母的字符串如guangangei

求判断字符串是否是拼音的成熟算法给定一个字符串如qiaodang,shuangyue等,用算法判断其是否是拼音或者拼音组合,什么语言都行,重点讲算法的实现给定一个连续的只包含字母的字符串如guangangei
求判断字符串是否是拼音的成熟算法
给定一个字符串如qiaodang,shuangyue等,用算法判断其是否是拼音或者拼音组合,什么语言都行,重点讲算法的实现
给定一个连续的只包含字母的字符串如guangangei,可拆分成(guang,an,gei)符合 ,(guan,gang,ei)ei不能成字不符合,(guan,gan,gei)符合,(gu,ang,an,gei)符合.等多种组合,只要其中有1个组合里的子集全部符合拼音组合规则如(guan,gan,gei),就判定这个字符串是拼音字符串;如果拆分之后的组合没有1个符合拼音规则,如字符串hello,那么判定此字符串不是拼音字符串.
个人理解这个算法需要考虑字母前后的拼音匹配(建立拼音匹配模型),推导算法(如正向最大推导),失败后的回退(如guang,ang,ei失败后回退重新拆分guan,gang,ei,失败再重新拆分guan,gan,gei成功)
因需求比较急,算法实现有很多细节需考虑和测试,希望有达人分享已实现的算法,

求判断字符串是否是拼音的成熟算法给定一个字符串如qiaodang,shuangyue等,用算法判断其是否是拼音或者拼音组合,什么语言都行,重点讲算法的实现给定一个连续的只包含字母的字符串如guangangei
如果您是做输入法引擎的话,不能这么做的.任意的用户字母串都是拼音串.
例如:hello可以拆解为 he‘l’l‘o四段,您通过拼音输入法输入的话是可以完成输入的.
所以要做的话应该采用自动机原理,或者树结构来存储以任意字符开头的全部合法拼音组合.
例如 a开头的字符有 a、ai、ao、an、ang,那么以a开头的树的形状如下,+表示叶子结点,即若遇到此叶子节点则序列此时结束为合法序列.
a
i o n +
+ + + g
若给您一个字串是以a开头的,则从此树的根结点开始查找,例如序列为anaang
则起始查到an下一个字符为a所以已经无法再向下查找了,此时an即为一个拼音段,
接着下一个序列又是以a开头的所以继续在此树中查找,可以查到a此时a即为一个拼音段,
接下来重复这个过程,得到ang所以anaang的序列就被划分为了an'a'ang序列.
您只需要为26首字母建立树即可完成所有序列的匹配.

求判断字符串是否是拼音的成熟算法给定一个字符串如qiaodang,shuangyue等,用算法判断其是否是拼音或者拼音组合,什么语言都行,重点讲算法的实现给定一个连续的只包含字母的字符串如guangangei 任意给定3个正实数,设计一个算法,判断以这3个数为边长的三角形是否存在.注意是要设计算法 判断一个给定关系是否为等价关系,如果是,给出其划分.求C++离散实验的代码 (5) 编写一个函数fun,判断一个字符串是否是回文.所谓“回文”,即顺读和倒读都一样的字符串.例如:“ 任意给定三个实数,设计一个算法,判断 以这3个实数为边长的三角形是否存在,并 画出这个算法的程序框图 已知一个图的连接矩阵,判断给定两个节点是否连通的算法思想给出算法思想就可以了 任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在,并画出这个算法框图 高一3算法初步 1.判断n是否为奇数 2.任意给定一个正实数请设计一个算法求这个数为边长的正三角形面积是初步啊 不是那些程序之类的看不懂的东西 是写到作业本上的 C#我需要判断一个字符串是否是“字母 + 数字”或者是“字母 + 数字+()” 的形式,该怎么办? 给出一行C语言表达式,判断给定的整数是否是一个2的幂 试用VB程序语言写出主要程序段:判断一个给定的数X是否是素数 (1) 求5!(2) 将0~10之间的偶数求和并输出结果.(3)编程将给定的字符串逆序显示.(4)输入一个正整数,判断该正整数是否为素数.(5)随机生成10个两位正整数,找出其中最大和最小数. 1.编程实现:求 1 到 m 间的全部素数(m 是给定的一个自然数).提示:要判断一个自然数是否为素数,可 给定一个集合,查找元素是否在集合中出现.求C语言算法 任意给定两个实数,设计一个算法并判断它们的平方的大小关系. 求判断一个正整数是否是素数的算法!除了按照素数的定义逐个地试商,有没有什么高效率的算法呢?C/C++ 任意给定三个实数,设计一个算法,判断以这3个实数为边长的三角形是否存在,并画出这个算法的程序框图除了三边之和大于第三边.三边之差小于第三边这个方法 对于一个不小于3的正整数,设计一个算法判断该正数是否是素数