标签: java algorithm tree binary-search-tree tree-traversal
我在Java中实现了一个可以搜索特定节点的二叉搜索树。在找到特定节点之后,我还想检索在找到节点之前排序的特定数量的节点(例如,5)。我能想到实现这一目标的唯一方法是:遍历整个树,将每个节点添加到arraylist(或另一个平面数据结构),然后在arraylist中找到节点并检索前面的五个节点。
但这是低效率和不优雅的。有没有办法通过向后穿过树来做到这一点?