【发布时间】:2018-03-23 15:49:04
【问题描述】:
就我的问题而言,我将包含一个示例问题。
假设我们需要遍历一个包含 N 个元素的向量并删除重复项。所以,我们可能会使用一个集合,对吗? (让我们使用一个 C++ 集合,它是一棵树)
遍历每个元素的成本为 O(N) - 然后插入到集合数据结构中。
我的问题Has a log n cost with the Set structure, 我们插入了 N 次,这个算法是 O(N log N) 还是简单的 O(N)?我正在和一位教授讨论这个问题,我不确定。 Leetcode/SO/在线社区似乎忽略了数据结构成本,但从学术的角度来看,N 插入到红/黑树中,log N 最坏的情况 - 这是 Log N,N 次不?
为了澄清 - 是的,使用 unordered_set 更有意义,但这并不能使我的问题有效。
【问题讨论】:
-
“Leetcode/SO/在线社区似乎无视数据结构成本”[需要引用]
-
您确定无论发生这种情况,他们指的不是哈希集吗? Set 并不意味着二叉搜索树,只是因为在 C++ 中就是这样