一种按排序顺序保持元素的数据结构,支持快速插入和计算连续元素之间的最大差异

A data structure which keeps elements in sorted order, supports fast insertion and calculation of maximum difference between consecutive elements

本文关键字:元素 插入 计算 连续 之间 支持 数据结构 一种 排序 顺序      更新时间:2023-10-16

我可以将元素存储在STL集中,用于O(logN)插入和计算O(NlogN)中的最大连续差。有没有更快的方法。我不想要密码。只是实现这个DS的一些想法。谢谢你的帮助。

只需围绕STL集编写一个包装器。每次插入时,在插入之后,获取下一个最高关键字并计算差值。如果它大于当前的最大值,请将其替换并存储添加到此最大值的密钥。

插入仍然是O(logn)。得到的最大值是O(1)。

删除关键点时,请查看它是否在计算最大差异时使用的关键点之一。如果是,则必须使最大值无效,然后找到新的最大值。只需按排序顺序浏览所有元素,并保持最大运行量。迭代结束时,您将知道O(n)中的最大值。

所以在最坏的情况下删除取O(n)。