Python123 是专注于为中国高等院校教学 Python 语言的而开发的一款学习工具网站。集 Python123 高等教师课题教学、日常考试、习题训练、计算生态以及计算机等级考试 Python 部分的指导模拟网站。Python123 还汇聚全国计算机教育名师的 Python 公开课免费视频教程,共同缔造 Python 这门编程语言的全新教学模式。
18年9月10日 · Python123 4635 人阅读
循环链表可以是单链表也可以是双链表。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。
在我们的例子中,决定采用循环单链表。所以链表结点被定义如下。
除了多出一条尾部指向头部的指针,向循环链表中插入结点和单链表类似。循环链表定义如下。
删除结点时,当要删除结点在链表中间位置时,和单链表类似。当要删除结点在链表尾部时,同样多出一条新尾部指向头部的指针。代码重新定义如下
删除函数测试代码。对于循环链表的删除操作来说,有很多的边缘情况需要考虑。但是它的时间复杂度仍然是 O(n) 。
总的来说,循环链表和单链表不同的地方只是在头部和尾部之间添加了一条指针。这些额外的工作都可以在常数时间内完成,因此时间复杂度都是相同的。
参考链接:
Python 语言程序设计
Python 计算生态推荐榜
Python 创意绘画
Python 全国二级等考
专业版
开通教师账号
申请 VIP 教师账号
常见问题
版权声明
联系我们 : xuehangpython123.io
微信服务号
VIP 教师具有专业版大多数功能,能更好的支持课程开设全过程。
如需开通 VIP 教师账号,请在 QQ、微信群内联系我们,或给我们发送申请邮件。
兼容性提示
您正在使用的 IE 浏览器,或部分浏览器的 IE 模式 访问本站
现阶段我们还无法提供对 IE 的完整支持
如果继续浏览可能遇到 排版混乱、部分功能无法正常使用 等错误
建议您使用 Chrome、Edge、Firefox、Safari 等现代浏览器访问