我刚刚开始学习数据结构和算法,我想知道为什么我们要单独创建节点和链表类,而不是像我一样在一个类中完成所有操作
class LinkedList():
def __init__(self):
self.linked=[]
def add(self,data):
self.linked.append(data)
return self.linked
def get_size(self):
return len(self.linked)
def remove(self,data):
if data in self.linked:
while data in self.linked:
z=self.linked.index(data)
del self.linked[z]
print self.linked
return True
else:
return False
def find(self,data):
if data in self.linked:
return "Found" + " " + str(data)
else:
return "Not found" + " " + str(data)
是因为空间和时间复杂性还是其他一些因素? 再次感谢。
链表意味着每个元素都有一个指向列表中下一个元素的指针(=链接)。典型的
Node
类存储该指针。您的 LinkedList
类只是标准 Python 列表的包装器,而不是链接列表。
您可以使用传统的 C 类型结构方法来实现链表
class Node:
def __init__():
self.val = val
self.next = None
定义类型。并在主链表类中使用此类
class LinkedList( Node):