java - 需要二叉搜索树方法 : find minimum value node

标签 java recursion iterator

任何人都可以帮助我做到这一点:我需要一个用于二叉搜索树 ADT 的公共(public)方法,该方法返回对树中具有最小值的节点中的信息的引用。该方法的签名是:

公共(public) T min()

A.设计该方法的交互式版本。

B.设计该方法的递归版本。

C.哪种方法更好?请解释一下。

这不是硬件或任何东西,它是我自己的实践。

最佳答案

因为我认为如果我给你提供了你不会学到的解决方案,我会给你一个链接,让你阅读有关二叉搜索树的更多信息:http://en.wikipedia.org/wiki/Binary_search_tree

在那条评论之后,我的方式:

public T min() {
    return recMin(root).getInfo();
}

public BSTnode<T> recMin(BSTnode<T> tree) {
    if (tree == null) {
        throw new NoSuchElementException();
    }
    if (tree.left == null) {
        return tree;
    }
    return recMin(tree.left);
}

public T IterationMin(BSTnode<T> tree) {
    if (tree == null) {
        throw new NoSuchElementException();
    }

    while (tree.left != null) {
        tree = tree.left;
    }
    return tree.getInfo();
}

关于java - 需要二叉搜索树方法 : find minimum value node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16702371/

相关文章:

java - 支柱2 : Displays table of Songs - null gets printed

c++ - 为什么 push_back 或 push_front 使双端队列的迭代器无效?

java - 如何避免linkedin对同一应用程序的重复授权

java - JSONArray 未正确解析

Python 递归算法不适用于大值 - C 程序有效

go - 如何通过 map[string]interface{} 递归迭代

java - Spring 数据存储库 : Detached entity passed to persist

java - Eclipse 控制台中的 H2 数据库结果

c - 显示递归的模拟,给定递归算法

c++ - 什么是迭代器失效?