java - 词搜索 : two string arrays in alphabetical order using merge sort

标签 java dictionary mergesort wordsearch

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

最佳答案

这个想法是:

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

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

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

关于java - 词搜索 : two string arrays in alphabetical order using merge sort,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26666121/

相关文章:

python - 访问字典值中的嵌套元组

java - 您能否在不迭代的情况下有效地从映射中删除任意 k 个元素?

ios - SWIFT 访问嵌套字典

c# - 排序子序列的最有效排序算法

java - 为什么此代码段没有出现 Java 教程文档中所述的运行时错误?

java - 没有足够的内存让Java运行时环境继续运行:

java - 如何使用java代码读取文件的所有行?

c++ - C++ 中合并排序实现的特殊行为,排序结果不应该到位

Java - 合并排序数组

java - Spring bean 创建错误莫名其妙