用 python 学习数据结构(二)双向链表

一、相比单向链表,双向链表的优势

双向链表的每个节点保存了前一个节点和后一个节点的引用(指针),到达某个节点时,可以向前或者向后遍历,提高了操作的效率。比如,insertBefore(nodeA, value) 操作,可以一步完成,而不需要先查找 nodeA 的前序节点。

二、关于List 的遍历访问,使用迭代器。

可以把迭代器理解为指向 List 的一个游标,这个游标可以向前或者向后(一般是从前向后遍历)遍历整个 List。

如果我们的 List 想要支持迭代访问,比如 for val in listA: xxx, 就必须实现迭代器,必须要实现自己的迭代器类和迭代方法。

三、语言描述总数太抽象,直接看代码吧。

如果发现问题或者有疑问,欢迎与我讨论。看完代码,相信你对 python 的迭代器以及可迭代对象有了新的认识。

欢迎加入我们免费的 python 学习交流社群,请先扫描群主二维码,加群主为好友,然后申请入群。群内技术大牛每日交流,即时答疑。也欢迎关注我们的技术公众号,会定期推送学习材料

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181017G0DLYC00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券