我是数据结构的初学者。我正在尝试为具有展开树的范围函数编写一些伪代码:Range(S, A, B)
,它将 S 更改为键值 C 满足 A ≤ C ≤ B 的所有成员的集合。我知道展开树属于二进制类型搜索树并实现自己的展开操作。基本上,我试图返回介于 A 和 B 之间的一系列值。但是,我无法理解我应该如何执行此操作,或者我什至应该从哪里开始,以及我应该检查哪些条件。我已经阅读了展开树的定义,并且知道它们就像具有移至前端算法的二叉搜索树。
这是我到目前为止所拥有的:
Algorithm Range(Array S, int A, int B): array Set
S = new array(size) //Initialize an empty array of some size
if (A > B) then return NULL
在这一点之后,我感到有些失落。我不确定如何检查伸展树的值。请让我知道我是否可以提供更多信息,或者我应该进入哪些方向。