相关疑难解决方法(0)

用于实现堆栈的链接列表与动态数组

我开始在学校最后一年开始之前检查数据结构和算法,以确保我掌握一切.一个评论问题说"使用链表或动态数组实现堆栈并解释为什么你做出了最好的选择".

对我来说,使用带有尾指针的列表来实现堆栈似乎更直观,因为它可能需要经常调整大小.对于大量数据来说,列表是更好的选择,因为动态数组重新调整大小是一项昂贵的操作.此外,使用列表,您不需要分配比实际需要更多的空间,因此它更节省空间.

但是,动态数组肯定允许更快地添加数据(除非需要调整大小).但是,我不确定使用数组是否整体更快,或者只是不需要调整大小.

该书的解决方案说"存储非常大的对象,列表是一个更好的实现",但我不明白为什么.

哪种方式最好?应该使用哪些因素来确定哪种实施方式"最佳"?还有,我的逻辑是什么?

performance stack linked-list dynamic-arrays data-structures

29
推荐指数
2
解决办法
2万
查看次数

链接列表与矢量

在过去的几天里,我一直在为第一次软件开发工作的电话采访做准备.在研究问题时,我提出了这篇文章.

在我到达这段经文之前,每件事都很棒

"你什么时候使用链表和矢量?"

现在根据经验和研究,这两个是非常不同的数据结构,链表是动态数组,矢量是空间中的2d点.我可以在两者之间看到的唯一关联是,如果你使用向量作为链表,比方说myVector(my value, pointer to neighbor)

思考?

linked-list vector data-structures

18
推荐指数
3
解决办法
5万
查看次数