算法的复杂性将元素插入前端的圆形链接列表中
-
16-10-2019 - |
题
在圆形链接列表中,如果需要在前面插入一个元素(就在head指向的节点之前],则可以在o(1)中完成(请参阅答案 这里)
但是在我当前的一本书中,有人提到它是在o(n)中完成的(通常的方法)。我还看到了很少的讲座PPT,他们都提到了遍历列表和添加元素的通常方法。
我的问题是:
在实际情况下,使用了哪种方法?
我即将参加由MCQ组成的考试,如果问上述问题,我可以标记O(n),因为这是标准答案?
解决方案
在实际场景中使用的方法取决于场景(以及程序员)。有几个可能影响实施选择的问题:
- 该算法是否是程序员知道的。
- 易于编码(如果您可以在某些库中实现它是最简单的)。
- 速度 - 这取决于如何使用数据结构。
- 数据结构所取的空间。
智能程序员应考虑所有这些,并试图使自己更了解各种算法和数据结构。
不隶属于 cs.stackexchange