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实现的ini文件操作类分享

类代码: # -*- coding:gbk -*- import ConfigParser, os class INIFILE: def __init__(self, filen...

PyQt5 加载图片和文本文件的实例

PyQt5 加载图片和文本文件的实例

首先我们来看一组效果 选择图片文本设置完以后 选择过程中 核心代码解释 # 这个函数是用来打开电脑的资源管理器选择照片用的 def loadFile(self):...

python递归法实现简易连连看小游戏

python递归法实现简易连连看小游戏

问题:简单版连连看小游戏 一个分割成w*h个正方格子的矩形板上,每个正方格子可以有游戏卡,也可以没有游戏卡 两个游戏卡之间有一条路径相连需满足以下三个条件: 1.路径只包含水平和垂直的直...

windows10下安装TensorFlow Object Detection API的步骤

windows10下安装TensorFlow Object Detection API的步骤

安装步骤: 模型源码:https://github.com/tensorflow/models 1、下载源码后解压,修改文件夹名为models (以下步骤中涉及到路径的地方需要根据自己的...

Laravel+Dingo/Api 自定义响应的实现

在最近的开发开发项目中,我使用了Dingo/Api这个第三方Api库。 Dingo是个很强大的Api库, 但在开发的过程中,需要自定义响应字段。 刚开始使用Ding/Api时,返回如下...