单词搜索:使用合并排序按字母顺序排列的两个字符串数组

时间:2014-10-31 01:19:44

标签: java dictionary mergesort wordsearch

对于我的班级项目,我们必须通过莎士比亚十四行诗并检查每个单词是否在字典中。现在我有两个按字母顺序排列的String数组,一个由十四行诗中的单词组成,另一个由字典中的单词组成。我被要求使用合并排序来检查字形中是否存在十四行诗中的单词。谁能让我知道如何实现这个???提前致谢!

1 个答案:

答案 0 :(得分:1)

这个想法是:

  1. 对两个阵列进行排序(使用合并排序)
  2. 删除所有重复项
  3. 同时迭代两个排序的数组(可以使用mergesort中的合并过程完成)并检查十四进制列表中的下一个单词是否等于字典中的下一个单词。如果没有,删除它,并将其标记为“不在字典中”,如果是,则将其标记为“在字典中”,然后继续执行两个列表中的下一个元素
  4. 但是,这种方法假定字典中的所有单词都包含在十四行诗中。如果不是这种情况,您必须预先删除这些单词。

    真的;这听起来不像是一个问题。 最好的方法是使用HashMap并将所有字典单词放在其中。然后你可以遍历十四行诗,并检查地图中是否存在。