首页 > 解决方案 > 在 Java 中使用 OOP 实现二叉树

问题描述

目前我正在使用 OOP 使用 Java 中的二叉树,但我对 OOP 的某些方面感到困惑。现在我想要实现的是将节点插入到我的树中(手动,例如:(in main)root.left(2);root.right(5),root.left.left(10)等)。这一切都是因为我想在树中尝试基本操作并以这种方式添加元素会更容易看到。我正在使用 3 个类:Main、BinaryTree 和 Node

在 Node 中只有 getter 和 setter 以及 3 个私有变量:int integer、Node leftChild、Node rightChild;

我的问题是我不太明白在哪里添加节点,因为 BinaryTree 有一个来自 Nodes 的对象,而 Main 有一个来自 BinaryTree 的对象。如果我尝试在 Main 中添加我的对象中的元素,它会给我一个错误。我有点困惑。

标签: javaclassoop

解决方案


将每个节点视为一棵单独的树。因此,在插入操作中,从根开始遍历树,直到找到要插入的节点的父节点。

这可能有助于更好地解释它:(https://www.geeksforgeeks.org/insertion-in-a-binary-tree-in-level-order/


推荐阅读