为什么我们要创建 Node 类和 LinkedList 类,而不是像这样简单地做

问题描述 投票:0回答:2

我刚刚开始学习数据结构和算法,我想知道为什么我们要单独创建节点和链表类,而不是像我一样在一个类中完成所有操作

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)

是因为空间和时间复杂性还是其他一些因素? 再次感谢。

python data-structures
2个回答
1
投票

链表意味着每个元素都有一个指向列表中下一个元素的指针(=链接)。典型的

Node
类存储该指针。您的
LinkedList
类只是标准 Python 列表的包装器,而不是链接列表。


0
投票

您可以使用传统的 C 类型结构方法来实现链表

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

定义类型。并在主链表类中使用此类

class LinkedList( Node):
© www.soinside.com 2019 - 2024. All rights reserved.