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

yipeiwu_com7年前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的bottle框架跨域请求报错问题的处理方法

关于python的bottle框架跨域请求报错问题的处理方法

在用python的bottle框架开发时,前端使用ajax跨域访问时,js代码老是进入不了success,而是进入了error,而返回的状态却是200。url直接在浏览器访问也是正常的,...

Python Scapy随心所欲研究TCP协议栈

1. 前言 如果只需要研究Linux的tcp协议栈行为,只需要使用packetdrill就能够满足我的所有需求。packetdrill才是让我随心所欲地撩tcp协议栈。packetdri...

python3实现绘制二维点图

python3实现绘制二维点图

如下所示: import matplotlib.pyplot as plt plt.plot([1,2,3],[4,5,6],'ro') plt.show()#这个智障的编辑器,,,...

python 发送和接收ActiveMQ消息的实例

ActiveMQ是java开发的消息中间件服务。可以支持多种协议(AMQP,MQTT,OpenWire,Stomp),默认的是OpenWire。而python与ActiveMQ的通信使用...

django ModelForm修改显示缩略图 imagefield类型的实例

在使用django的modelform的时候,修改表单,图片在form表单显示的是一个链接。显示缩略图如下 第一步: from django.forms.widgets import...