真是O(1)吗?想清楚了没?

当然标题里这个O(1)可以换成任何复杂度。 话说写程序的时候我们会用到各种数据结构,但十有八九不会由我们自己从头写起,都会直接拿来用。于是很多人就会记住,譬如HashMap或Dictionary的存取是O(1)的操作,二分查找什么的则是O(log(N))。不过,我们在实践中直接把这些类拿来用的时候,最好也留个心眼,知道这些类内部到底做了些什么,为什么它们能够达到O(1)之类的时间复杂度。 例如,我们都知道List<T>的Add是O(1)的操作,但之所以它是O(