我有一个class User
有3个对象(?)我不确定的术语。方法使此HashMap更有效率
- 的(int)的ID码
- 用户创建
- 和
我想创建一个方法(字符串)名称的(INT)日期是
- 将用户添加到我的数据结构中(1)
- 根据用户的ID号返回用户名(2)
- 返回按日期排序的所有用户的完整列表(3)
- 回报用户列表谁的名字都有一定的字符串,按日期(4)
- 回报进行排序谁加入的用户的列表之前在特定日期(5)
我已基于该年10个阵列接合(2004-2014年),然后通过日期在再次阵列中的元素进行排序(按月份排序然后天)
我是否认为这意味着方法(3)和(5)具有时间复杂性,但是具有O(1)
那(1),(4)和(2)有O(N)
?
另外还有另一种数据结构/方法,我可以用我的所有方法有O(1)
?我重复地尝试拿出一个,但包含方法(2)让我难住。
基于比较的排序总是O(N * log N)和addi ng已经排序的容器是O(log N)。为了避免这种情况,你需要水桶,就像你现在拥有多年的方式。这交易内存的执行时间。 – hyde
没有办法为所有这些O(1)。例如,#4 **需要**线性搜索。 – Radiodef
@hyde我的桶不是基于数年的10个阵列吗? – user2962956