为什么不一起使用向量和列表?

问题描述

这可能是一个非常愚蠢的问题,但是,知道在列表中搜索元素(单链接或双链接)的效率很低,为什么不使用向量或动态数组来存储列表中的元素顺序,因此更容易访问元素?

解决方法

链表过去更重要,因为它们是非连续存储的,这对内存管理更好。链表和向量/数组都具有 O(N) 的搜索时间复杂度。如果您事先知道索引,访问数组元素只会更快。链表适用于您经常将元素插入数组开头的特殊情况。链表让您在 O(1) 时间内完成此操作,而不是数组 O(n),因为其他元素需要移动。