我有一个程序可以执行以下操作:
迭代字符串,将单词放入 HashMap<String, Integer>
其中键代表唯一的单词,值代表运行的总出现次数(每次找到该单词时都会增加)。
我相信到目前为止我们是O(n)
因为每次插入都是恒定时间。
然后,我迭代 HashMap 并将值插入到新的 HashMap<Integer, List<String>>
中。 。 String
进入 List
在计数匹配的值中。我认为我们仍然在O(n)
因为HashMap
上使用的操作和 List
s 是常数时间。
然后,我迭代 HashMap
并打印String
每个 List
中的 s .
这个程序中的任何内容是否使我超越 O(n)
复杂性?
最佳答案
那就是O(n)
,除非你的单词解析算法不是线性的(但它应该是线性的)。
关于java - 通过迭代和打印插入 2 个哈希表的运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19626279/