首页 > 其他 > 详细

p1364单词查找树

时间:2018-05-20 15:08:56      阅读:172      评论:0      收藏:0      [点我收藏+]

技术分享图片

将它作为我的树的练习题来做的,根本没有想其他的什么方法。

先去看书上的模板,竟然用到了指针啊?干脆的什么都看不懂。于是就苦苦回忆寒假学的东西,经历了无数苦难波折后写下了一个看起来非常非常对的代码:

技术分享图片
int end=27;
int i,f,ans=0,boyt,now;
string s;
struct lianbiao
{
    char n;
    int boy[27];
}trie[60000];
int main()
{
//freopen("123.in","r",stdin);
    while(cin>>s)
    {
        now=int(s[0]-64);
        trie[now].n=s[0];
        for(f=1;f<s.size();f++)
        {
            boyt=int(s[f])-64;
            if(trie[trie[now].boy[boyt]].n==s[f])//已经有了
            {
                now=trie[now].boy[boyt];
            }
            else
            {
                trie[end].n=s[f];
                trie[now].boy[boyt]=end;
                now=end;
                end++;
            }
        }
    }
    for(i=1;i<=60000;i++)
        if(trie[i].n!=0)
            ans++;
    cout<<ans+1;
    return 0;
}
View Code

考虑到只有26个字母,结构体内部只开了27,在自己的电脑上运行的完美,然后交了三次都是错的。。。。。。。。。。。。。

 

p1364单词查找树

原文:https://www.cnblogs.com/qywyt/p/9063250.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!