0

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

4

1 回答 1

1

这个想法是:

  1. 对两个数组进行排序(使用归并排序)
  2. 删除所有重复项
  3. 同时遍历两个已排序的数组(可以使用 mergesort 中的合并过程来完成)并检查十四行诗列表中的下一个单词是否等于字典中的下一个单词。如果不是,则将其删除,并将其标记为“不在字典中”,如果是,将其标记为“在字典中”,并继续处理两个列表中的下一个元素

然而,这种方法假设字典中的所有单词都包含在十四行诗中。如果不是这种情况,则必须预先删除这些词。

确实如此;这听起来不像是排序问题。最好的方法是使用 aHashMap并将所有字典单词放入其中。然后您可以遍历十四行诗,并检查地图中是否存在。

于 2014-10-31T01:45:42.070 回答