【发布时间】:2017-12-28 19:19:36
【问题描述】:
这个问题适用于所有语言,但让我坚持 C#
var names = new List<string> {"Jerry", "Cosmo", "Elaine", "George"};
这是我的编译时间列表。如果我决定在其中插入记录,那么下面的 .Net 会将长度从 4 加倍到 8。
names.Insert("Newman");
上面这个插入方法的Big-O会变成O(N)吗?其中 N 作为列表的长度?如果是,大多数面试官真的关心吗?
编辑
假设我们要插入 1000 条记录。长度将在 4、8、16、32 处加倍......所以插入复杂度将是 Log(N) 正确的吗?
【问题讨论】: