当前位置: 首页 > 网络应用技术

“跳高手表”

时间:2023-03-05 19:30:41 网络应用技术

  大型工厂高 - 频率算法测试问题:“跳高手表”,您将学会跳跃?解决了什么问题?在Redis会话中,采访者经常问,不需要能够在斑点,可以解释下一个跳跃表中使用的特定思想和数据结构模型。

  跳过列表比AVL,SB,红树和黑树更先进,但有点恒定的时间。

  数据查询速度很快O(1),但是插入速度慢O(n)

  链接列表的插入速度是快速O(1),但是链接列表的查询速度相对较慢O(n)

  跳台的平均搜索和插入时间为o(logn),空间复杂性为o(n)

  它如何达到增加,删除和修改时间的复杂性?

  多级单链列表用于查看空间消耗,这是So所谓的时间和空间选择。

  核心思想如下:

  请勿使用任何库功能来设计跳跃手表。

  跳台是一个数据结构,在O(log(n))内完成,删除和搜索操作。与树桩和红色和黑树相比,跳台的功能和性能是等效的,并且跳台的代码长度较短。设计思想类似于链接列表。

  例如,跳台包含[30、40、50、60、70、90],然后将80和45添加到跳台上。

  跳台上有许多层,每一层都是一个简短的链接列表。在第一层的影响下,增加,删除和搜索操作的复杂性不超过O(n)。每个操作的平均时间复杂性该表的是O(log(n)),空间复杂性为O(n)。

  了解更多:https://en.wikipedia.org/wiki/skip_list

  在此问题中,您的设计应包括以下功能:

  请注意,跳台中可能有多个值,您的代码需要处理这种情况。

  例子:

  leetcode

  原始:https://juejin.cn/post/7102431182037450759