python的链表与数组对比,优势和劣势

1、python中的链表如何实现

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

if __name__ == '__main__':
    head = None
    for n in range(1,6):
        head = Node(n, head)

    while head != None:
        print(head.data)
        head = head.next

Python程序员使用对象引用建立起节点和链表结构。

上面的程序定义了一个节点,并且利用循环生成一个链表并访问列表。

生成的链表是这样的:

大家都知道,使用链表的好处,程序向内存申请内存时不要求内存是连续的,这与数组对内存空间在物理上必须连续是不一样的。链表结构的另一个好处是为删除和插入节点带来了好处,不需要移动大量的节点,只需要修改节点“指针”。java和Python中是没有指针一说的,都是通过引用实现的,C和C++中有指针的概念。

单链表结构相对于数组的主要优点不在于时间性能,而在于内存性能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章