dart 中 SplayTreeSet 的上一个/下一个元素

问题描述 投票:0回答:1

我对 SplayTree 和二分搜索比较陌生,但是有没有办法干净地获取 SplayTree 中的下一个和上一个元素?

我正在尝试模仿 Javascript 中的一个包,该包使用 JS SplayTree 包,该包具有 next 和 previous 方法,但似乎无法干净地执行此操作,并且不确定仅执行 index-/+1 是否有效。

flutter dart binary-search-tree
1个回答
0
投票

SplayTreeMap
firstKeyAfter
lastKeyBefore
方法。遗憾的是,
SplayTreeSet
目前没有等效的
。我会遵循链接问题中的建议并使用
SplayTreeMap<T, void>
而不是
SplayTreeSet<T>

使用

elementAt
与当前索引的索引 ±1 也应该给你正确的结果,但在缺乏运行时行为的记录保证的情况下,你可能应该期望每个调用可能涉及 O(n) 遍历,并且会是效率低下。

© www.soinside.com 2019 - 2024. All rights reserved.