繁体   English   中英

清单大小的大O

[英]Big O of list resize

这个问题适用于所有语言,但让我坚持使用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)是否正确?

特定插入操作(列表大小加倍)的复杂度为O(N)。 但是 摊销后的复杂度仍然是O(1),因为该列表之前的N / 2元素的大小没有增加一倍,因此每次插入的平均操作数仍保持不变。 面试官可能希望您意识到这种差异。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM