保持head节点在linkedlist中没有数据有什么性能优势



在linkedlist中保留有无用数据的head节点有什么性能优势?

我读到了一些使用head节点的linkedlist操作的实现,head节点只保留指向第一个节点的指针(head节点中的数据是无用的)。

但我甚至无法计算出使用头节点而不是头指针的任何好处。

有人能澄清一下1个问题和2个实现吗?一个是头节点,另一个是指针,以及性能/复杂性之间的权衡?

使用伪标头节点的原因如下:

  • 满足每个节点都有前一个节点的要求(使方法更简单/统一)
  • 不处理插入头部和从头部删除的特殊情况。它和其他任何节点一样

除此之外,不,它们不提供任何性能/内存优势。

除其他外,还有一个优点是,您可以保留链表中当前可用节点的数量,因为节点是频繁添加和删除的,所以您热衷于记录链表头节点中的节点数量。

最新更新