需要一种算法来打印唯一单词列表和出现次数

时间:2016-10-30 04:52:43

标签: algorithm pseudocode brute-force divide-and-conquer

我需要创建一个输入英语文本文件的程序,并输出文件中包含的单词列表和出现次数。我需要使用强力方法制作一个和分而治之的方法。 我会自己编写代码,所以请不要给我代码,但我需要帮助搞清楚如何去做 - 基本上每个方法背后的算法是什么,尤其是分而治之?伪代码会很棒

1 个答案:

答案 0 :(得分:0)

使用强力方法:

创建一个列表,用于存储单词(例如key)和相应的计数器(例如cnt)。遍历文件并:

  1. 如果该字词不存在,请将其附加到列表中,然后以cnt = 1启动计数器。
  2. 如果该单词存在,请执行cnt++
  3. 使用分而治之:

    1. 为每个起始字母(a到z)使用单独的列表。因此最多会有26个单独的列表。
    2. 遍历列表。对于每个单词,选取起始字符并选择相应的列表来搜索单词。然后,执行强制方法中使用的搜索和更新方法。
    3. 注意:它们都没有优化。它们对hashmap实现表现不佳。