-1

我需要 ac# 程序(搜索算法),即,当用户键入一个字符时,显示屏应更新以显示下一个字符的所有有效选择以及可能的匹配站列表。

例如:用户输入:DART,它应该显示

达特福德和达特茅斯

建议大纲如下:

public class Suggestions
{
     HashSet<Character> nextLetters { get; set; }
     HashSet<String> stations { get; set; }
}

public class StationFinder
{
     private static String[] stations = new String[] {"LIVERPOOL LIME STREET", "BIRMINGHAM 
                                       NEW STREET", "KINGSTON", " DARTFORD", "DARTMOUTH" };

    public Suggestions GetSuggestions( String userInput )
    {
          // TODO Compute result
          Suggestions result = new Suggestions();
          return result;
    }
}

这只是一个建议,它也可以修改。

问候,毗湿奴

4

2 回答 2

1

我个人不了解 C#,因此无法帮助您编写代码,但您想要使用的称为TRIE。这是字符串的一种特定类型的树结构。好的属性是你可以非常看到给定字符串开头的所有合法结尾。这非常适合自动建议等事情,我认为这就是你想要的。只是在 C# 中搜索 TRIE 实现

于 2012-06-22T01:16:16.043 回答
1

你想要的是一个三元搜索树看这里 wikipedia这里 c# 示例

于 2012-06-22T01:17:49.323 回答