为什么链表中的'head'设置为none?

Why is the 'head' in a linked list set to none?

嗨,我一直在尝试自学数据结构,并开始阅读有关链表的内容。总的来说,我对 python 还是个新手,但我知道 classes 的基础知识和语法等等,所以决定为什么不尝试学习这个。无论如何,我到了创建链表 [​​=20=] 的这一部分,我知道链表的 'head' 部分将是第一个节点,但不太确定为什么会这样设置为 'None'。如果这是一个愚蠢的问题,我们深表歉意:/

这是它的代码...

class Node:
  def __init__(self, data): 
    self.data = data
    self.next = None

class LinkedList:
  def __init__(self):  
    self.head = None  #why is this part set to none? 

这只是初始化部分,当链表被初始化时,你不希望它有值。

ll = LinkedList()
node = Node(1)
ll.head = node

这将使节点成为链表的头部,您可以稍后将值添加到它

当你像ll = LinkedList()一样创建class LinkedList的对象时,它默认调用class的构造函数,即init ().

显然,当您创建对象但尚未将其分配给任何节点时,它是一个空链表,我们显示一个空链表,如指向 none 的指针头,因为列表是空的。

我希望这能澄清你的问题。