Python数据结构中跳表是什么?Python内怎么实现跳表结构
罗西汉
优草派
python是一个面向对象特性的计算机编程语言,在python中一切都可以被视为对象,而它能够去实现各种不同的数据结构。而这篇文章小编要来给大家分享的知识是链表数据结构的一个衍生点-跳表,感兴趣的的小伙伴就和小编一起阅读本文吧。
一、跳表是什么
跳表可以称之为跳跃表或者是跳跃列表,它是在链表这个数据结构的基础上通过二分算法所衍生出来的一种数据结构。它其实很好理解,可以简单将其看做是在一个链表上建立起了相关的索引。
因为链表这种数据结构是通过一个个节点连接来组合成的,要查找到一个节点就必须从它之前的所有节点开始遍历查询,这样很耗费时间和占用资源。那么跳表就相当于是给节点的下一个指向添加了很多选项,可以让指针跳过中间很多节点到达某一个节点,因为这种跳过节点的特性才被称为跳表数据结构。
二、python实现跳表
在python之中链表这个数据结构是通过类及其实例化来实现的,那么在链表基础上所构造出来的跳表数据结构也是通过类来完成。不过在链表类中一个表示下一个节点的next属性被赋值为None,因为需要实例化才可以得到。
但是跳表数据结构类中的next属性赋予的值则是,None乘以层级值,而这个层级就是这个节点可以跳跃到哪个层级上所有节点的数量。实例化之后通过索引来选择节点跳跃,示例如下:
class Node: def __init__(self, data, level=0): self.data = data self.next = [None] * level def __str__(self): return "Node({}, {})".format(self.data, len(self.next))
以上就是关于“Python数据结构中跳表是什么?Python内怎么实现跳表结构”的全部内容了,希望对你有所帮助。
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。