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