我刚刚开始学习go
,我正在研究数据结构。我习惯于使用像list
inpython
或std::vector
in这样的动态数组C++
,但在go
. 动态数组的优点是添加新元素的时间复杂度为 O(1),索引的时间复杂度为 O(1)。
起初我以为slice
是这样,但后来我意识到当我使用append函数时,整个切片都被复制,因此它是一个 O(N) 操作,而不是动态数组中的 O(1)。
然后我遇到了列表,但这是一个双向链表,这意味着索引是 O(N),而不是 O(1)。
我是否缺少我正在寻找的数据结构?
呼唤远方
相关分类