在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

java二叉树怎么建立和遍历

122次阅读
没有评论

共计 1732 个字符,预计需要花费 5 分钟才能阅读完成。

在 Java 中实现二叉树的建立和遍历可以通过定义一个节点类来表示二叉树的节点,然后通过递归的方式来构建二叉树和进行遍历操作。下面是一个示例代码:

// 定义二叉树节点类
class TreeNode {int val;
    TreeNode left;
    TreeNode right;

    public TreeNode(int val) {this.val = val;
        this.left = null;
        this.right = null;
    }
}

// 二叉树类
class BinaryTree {private TreeNode root;

    public BinaryTree() {root = null;
    }

    // 递归插入节点
    private TreeNode insertRecursive(TreeNode current, int val) {if (current == null) {return new TreeNode(val);
        }

        if (val < current.val) {current.left = insertRecursive(current.left, val);
        } else if (val > current.val) {current.right = insertRecursive(current.right, val);
        }

        return current;
    }

    // 插入节点
    public void insert(int val) {root = insertRecursive(root, val);
    }

    // 中序遍历
    private void inorderTraversal(TreeNode node) {if (node != null) {inorderTraversal(node.left);
            System.out.print(node.val + " ");
            inorderTraversal(node.right);
        }
    }

    public void inorder() {inorderTraversal(root);
    }

    // 前序遍历
    private void preorderTraversal(TreeNode node) {if (node != null) {System.out.print(node.val + " ");
            preorderTraversal(node.left);
            preorderTraversal(node.right);
        }
    }

    public void preorder() {preorderTraversal(root);
    }

    // 后序遍历
    private void postorderTraversal(TreeNode node) {if (node != null) {postorderTraversal(node.left);
            postorderTraversal(node.right);
            System.out.print(node.val + " ");
        }
    }

    public void postorder() {postorderTraversal(root);
    }
}

public class Main {public static void main(String[] args) {BinaryTree tree = new BinaryTree();

        tree.insert(5);
        tree.insert(3);
        tree.insert(7);
        tree.insert(2);
        tree.insert(4);
        tree.insert(6);
        tree.insert(8);

        System.out.print("Inorder traversal: ");
        tree.inorder();
        System.out.println();

        System.out.print("Preorder traversal: ");
        tree.preorder();
        System.out.println();

        System.out.print("Postorder traversal: ");
        tree.postorder();
        System.out.println();}
}

以上示例代码中,通过定义 TreeNode 类表示二叉树的节点,定义 BinaryTree 类表示二叉树,实现了插入节点和三种遍历方式(中序、前序、后序)的方法。在 Main 类中进行了二叉树的建立和遍历操作。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2024-03-19发表,共计1732字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 国产乱淫a∨片免费视频 | 国产精品欧美亚洲韩国日本不卡 | 九九爱国产| 午夜免费伦费影视在线观看 | 4455四色永久免费 | 亚洲av成人一区二区三区av | 国产性一交一乱一伦一色一情 | 国产欧美日韩高清专区ho | 无码国内精品人妻少妇蜜桃视频 | 无码中文人妻在线一区 | 国产成人综合亚洲欧美天堂 | 欧美成人爽毛片在线视频 | 国产精品久久熟女另类卡通小说 | 国产精品亚洲四区在线观看 | 欧美国产成人精品一区二区三区 | 色婷婷综合久久久久中文一区二区 | 国产黄站 | 欧美a级情欲片在线观看免费 | 狠狠夜色午夜久久综合热91 | 国产成人综合亚洲欧美天堂 | 2020久久精品永久免费 | 99久久综合九九亚洲 | 99爱在线精品免费观看 | 国产精品无码久久久久成人影院 | 国产成人精品午夜福利 | 日本不卡不码高清视频 | 久青草国产97香蕉在线视频 | 青草资源视频在线高清观看 | 成年女人永久免费观看视频 | 久久免费视频在线观看30 | 国产精品96久久久久久久 | 国产a v无码专区亚洲av | 亚洲精品乱码久久久久66 | 久久久噜噜噜久久中文字幕色伊伊 | 色婷婷久久综合中文久久蜜桃av | 久久久久久日本一区99 | 又大又粗又爽的少妇免费视频 | 91探花国产综合在线精品 | 国产精品乱子乱xxxx | 国产女人高潮抽搐喷水免费视频 | 精品欧美一区二区精品久久 |