1、Node类中建立的递归(Easy):
见toString和Node.class中的inOrder方法
package tree;
import java.util.ArrayList;
import java.util.Deque;
import java.util.LinkedList;
import java.util.List;
/**
* 排序二叉树
* E extends Comparable<E>指的是
* E这个类型要实现Comparable接口,这样方便比较大小
*@author Edward
*@date 2020年7月1日---上午11:33:51
*/
public class Tree <E extends Comparable<E>>{
// root存放根节点的引用
private Node root;
public Node getRoot() {
return root;
}
public void setRoot(Node root) {
this.root = root;
}
/*
* Node类用于描述二叉树中的某个节点,其中,
* data用于存放数据(元素),left和right分别
* 存放其左右子树的引用。
*/
class Node{
E data;
Node left;
Node right;
Node(E e) {
data = e;
}
public boolean append(E e) {
// 相等不用添加(排序二叉树不允许重复元素)
if (data.compareTo(e)==0) {
return false;
}
// 如果要添加的元素比根节点元素小,则添加到左子树
if (data.compareTo(e)

本文详细介绍了搜索二叉树(BST)的中序遍历方法,包括两种递归方式和一种栈迭代实现。通过具体代码展示,从简单的Node类递归到传入root节点的递归方法,再到栈迭代的复杂实现,帮助读者深入理解BST的遍历操作。
最低0.47元/天 解锁文章
1037

被折叠的 条评论
为什么被折叠?



