java - 在 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 中添加我的对象中的元素,它会给我一个错误。我有点困惑。
解决方案
将每个节点视为一棵单独的树。因此,在插入操作中,从根开始遍历树,直到找到要插入的节点的父节点。
这可能有助于更好地解释它:(https://www.geeksforgeeks.org/insertion-in-a-binary-tree-in-level-order/)
推荐阅读
- php - 在 PHP 中下载和上传文件在更新后的 Chrome 中不起作用
- regex - 使用正则表达式在 MATLAB 中查找重复出现的模式
- javascript - 数组有项目,但找不到长度
- node.js - 如何确保对象ID数组在mongodb中具有唯一的用户ID
- asp.net - 使用 OCR 获取扫描的文档文本时出现“OCR 运行时错误”
- angular - Angular - Observable.catch 不会触发返回的 observable
- php - 使用 Guzzle 发布数据
- arrays - 如何在 VBA 中引用变量矩阵中的整列或整行?
- browser - 当浏览器重新加载资源时,如果用户不强制清除缓存(例如 Ctrl + F5)
- powerbi - 创建的列未按预期计算