在圆形链接列表中,如果需要在前面插入一个元素(就在head指向的节点之前],则可以在o(1)中完成(请参阅答案 这里)

但是在我当前的一本书中,有人提到它是在o(n)中完成的(通常的方法)。我还看到了很少的讲座PPT,他们都提到了遍历列表和添加元素的通常方法。

我的问题是:

  1. 在实际情况下,使用了哪种方法?

  2. 我即将参加由MCQ组成的考试,如果问上述问题,我可以标记O(n),因为这是标准答案?

有帮助吗?

解决方案

在实际场景中使用的方法取决于场景(以及程序员)。有几个可能影响实施选择的问题:

  1. 该算法是否是程序员知道的。
  2. 易于编码(如果您可以在某些库中实现它是最简单的)。
  3. 速度 - 这取决于如何使用数据结构。
  4. 数据结构所取的空间。

智能程序员应考虑所有这些,并试图使自己更了解各种算法和数据结构。

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top