LinkedList、HashMap、TreeSet的时间复杂度?

Time complexity of LinkedList, HashMap, TreeSet?

我是CS的学生,正在学习Java集合。 在我的学校,我们收到了一张图表,其中包含对数据结构的不同操作的时间复杂度。图表中有些东西对我来说没有意义。

链表 它说最后插入和查找元素数量的时间复杂度取决于实现。这是为什么?为什么不是 O(n)?

HashMap 对于 HashMap,它表示用于查找元素数量或确定 hashMap 是否为空的 tc 也依赖于 tc 实现。

TreeMap TreeMap 也一样。根据图表,确定元素数量的操作的 tc 取决于实现。它们指的是哪个实现?

LinkedList 的某些实现可以记录其列表中元素的数量以及指向最后一个元素的指针,以便快速插入尾部。这意味着他们完成了 O(1),因为它是一个快速的数据访问。

对于 HashMapTreeSet 的实现可以遵循类似的推理,如果它们用它们的数据结构来计算元素的数量,那么 isEmpty()size() 也可以完成 O(1)。