Python数据结构与算法之列表(链表,linked list)简单实现

yipeiwu_com5年前Python基础

Python 中的 list 并不是我们传统(计算机科学)意义上的列表,这也是其 append 操作会比 insert 操作效率高的原因。传统列表——通常也叫作链表(linked list)——通常是由一系列节点(node)来实现的,其每一个节点(尾节点除外)都持有一个指向下一个节点的引用。

其简单实现:

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

接下来,我们就可使用链表的结构来组织所有节点了。

>>> L = None('a', Node('b', Node('c', Node('d'))))
>>> L.next.next.value
'c'

这是所谓的单向链表,双向链表的各节点还需要持有一个指向前一节点的引用。

总结

以上就是本文关于Python数据结构与算法之列表(链表,linked list)简单实现的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:浅谈Python由__dict__和dir()引发的一些思考python中hashlib模块用法示例等,有什么问题可以随时留言,小编会及时回复大家的。

相关文章

详解Python 数据库的Connection、Cursor两大对象

详解Python 数据库的Connection、Cursor两大对象

Python 数据库图解流程 Connection、Cursor比喻 Connection()的参数列表 host,连接的数据库服务器主机名,默认为本地主机(localhost)。u...

Python编程之string相关操作实例详解

Python编程之string相关操作实例详解

本文实例讲述了Python编程之string相关操作。分享给大家供大家参考,具体如下: #coding=utf8 ''''' 字符串是Python中最常见的类型。可以通过引号见包含字...

Python中time模块与datetime模块在使用中的不同之处

Python 中提供了对时间日期的多种多样的处理方式,主要是在 time 和 datetime 这两个模块里。今天稍微梳理一下这两个模块在使用上的一些区别和联系。 time 在 Pyth...

简述:我为什么选择Python而不是Matlab和R语言

简述:我为什么选择Python而不是Matlab和R语言

 做数据分析、科学计算等离不开工具、语言的使用,目前最流行的数据语言,无非是MATLAB,R语言,Python这三种语言,但今天小编简单总结了python语言的一些特点及平常使用的工具等...

Python 中 Virtualenv 和 pip 的简单用法详解

本文介绍了Python 中 Virtualenv 和 pip 的简单用法详解,分享给大家,具体如下: 0X00 安装环境 我们在 Python 开发和学习过程中需要用到各种库,然后在各个...