为什么算法中的节点链?

时间:2014-12-10 07:40:24

标签: algorithm data-structures

我正在阅读数据结构和算法。在那里我发现了Node和Node链。为什么我们必须使用Node链(我的意思是为什么我们真的需要存储下一个节点的指针)?

2 个答案:

答案 0 :(得分:0)

您可以随意动态扩展链,而不是像在数组中那样预先扩展链。您需要存储下一个节点的指针,以便您可以访问它。你不能像索引一样通过索引访问它。

答案 1 :(得分:0)

这给了我们很多功能,我只列出了一些功能:

  • 通过O(1),您可以随时随地插入
    • 只考虑我们有两个节点A和B,它就像A->next = B我的意思是A->B,如果你想在A和B中间插入C,你可以简单地A->next = CC->next = BA->C->B
  • 通过O(1),您可以删除
      上一个示例中的
    • 如果您要删除C,可以A->next = B执行此操作A->C
  • 它使您能够只通过它的头部传递您的列表。
    • 考虑您有一个链接列表,如:A->B->C-> ....,而不是将所有节点传递给另一个可以传递A的函数。

有很多数据结构,每一个都有其优缺点。此外,链接列表中的Next可能还有很多功能,我没有提及。