私は来週の私のcs中期試験のために勉強しています。私たちは中期試験のサンプルを受け取りました。これを正しく実行しているかどうかを知りたいと思います。リンクされたリストとBSTのツリーが最も低く見つかりました
クラスの最大要素を返すpublic T lowest()メソッドを記述します。
public T lowest() { if(head == null) return null; Node<T> pointer = head; T min = pointer.data; while(pointer != null) { if(pointer.data.compareTo(min) < 0) // { min = pointer.data; pointer = pointer.next; } } return min;
}
は木をint保存された最小値を返すメソッドpublic T最低の()を書く:
public class List<T extends Comparable<T>> { private Node<T> head; // some methods here private class Node<T> { T data; Node<T> next; } }
は、ここに私の答えです。ここで
public class BST<T extends Comparable<T>> { private Node<T> root; // some methods here private class Node<T> { T data; Node<T> left, right; } }
私の答えです:
public T lowest()
{
Node current = root;
while(current.left != null)
{
current = current.left;
}
return current.data;
}
、あなたがツリーの最下位ノード値またはツリーの最下位の葉を見つけたいですか?いずれにせよ、あなたはそれを間違っている。あなたのコードは木の左端の葉のデータ値を返します。 –
@JayeshDoolani私は左端の葉が常に最低値をとっていると思ったので、私はその値を返すのです。 – bubbles2189
ああ、そうです。私はそれがBSTではなく一般的なバイナリツリーだと思っていました。その場合you'rコードは動作します –