0

所以我写了一个代码来构造一个dawg。我想知道一个词是否存在于一种语言中?经过大量搜索,我发现最好的方法是使用 dawg。这里

public class DawgNode
{
    public DawgNode(int id)
    {
        Id = id;
    }
    public int Id { get; set; }

    public bool Final { get; set; }

    public Dictionary<char, DawgNode> Edges { get; set; } = new Dictionary<char, DawgNode>();

    public string Str()
    {
        var arr = new List<string>();
        if (Final) arr.Add("1");
        else arr.Add("0");
        foreach (var e in Edges)
        {
            arr.Add(e.Key.ToString());
            arr.Add(e.Value.Id.ToString());
        }
        return string.Join("-", arr);
    }
}

如果一个词存在,最好的查找方法是什么。考虑我想在反应原生应用程序中实现拼字游戏。我知道节点的数量可以最小化,但有什么诀窍。1-将节点和边保存在单独的文件中?如何?2-每次将大文本转换为dawg并在其中搜索?请帮忙

4

0 回答 0