02. 数组
数组
数组要求插入的时候保证有序,这样查找的时候可以利用二分查找法达到 O(log(N))
的时间复杂度,对范围查询支持也很好,但是插入的时候如果不是在数组尾部,就需要摞动后面所有的数据,时间复杂度为 O(N)
。所以有序数组只适合存储静态数据,例如几乎很少变动的配置数据,或者是历史数据。这里应该会有人有疑问:我用另外一种线性数据结构链表来替代数组不就可以解决数组插入因为要移动数据导致太慢的问题了么,要回答这个问题我们需要了解操作系统读取文件的流程,磁盘