【发布时间】:2015-06-05 02:40:32
【问题描述】:
我刚刚开始了解时间复杂性,我只是想确保我做对了。
如果我们有unordered_map<string, set<int>>
请注意,以哈希表的形式组织,绝不允许负载因子超过某个常数。
假设字符串是公司名称,在set<int> 中我们有员工 ID,如果我们想打印某个给定业务中的所有员工 ID,时间复杂度是多少。这是我的逻辑,如果我朝着正确的方向前进,请告诉我。
我的逻辑是这样的,因为哈希表的加载常数不会超过某个常数,所以找到一个特定的业务将是常数时间操作所以O(1)。打印列表中的所有名称基本上是按顺序遍历的 BST,因此平均为 O(N)。因此总体而言它将是 O(1)+O(N),基本上是 O(N)。这是正确的吗?
【问题讨论】:
标签: c++ algorithm time-complexity