首页 > TAG信息列表 > binary-tree

java-在hadoop FS中编写二叉树

我需要将一棵二进制树写入HDFS,我将用它来表示一个决策树.但是为了做到这一点,我首先需要创建一个BinaryTreeNode类,它将是树节点.这些是我的课程属性: private String name; private String attribute; private String attType; private String condition; private String lines;

java-在二叉树中查找同构性质的算法

检查两个二叉树本质上是同构的算法是什么? 我的代码- boolean isIsomorphic(Root t1 , Root t2){ if(t1==null || t2==null){ return false; } if((t1.value == t2.value) && (isIsomorphic(t1.left,t2.right) && isIsomorphic(t1.right,t2.left))) {

python中的BFS来自预购和订购

(Python 2.7)我需要打印具有给定的preorder和inorder以及preorder和inorder字符串的最大长度的二叉树的bfs. 我知道它是如何工作的,例如:预订:ABCDE顺序:CBDAE最大长度:5 A / \ B E / \ C D BFS:AB

在C#中遍历树的微优化

我正在研究大量的项目.自从一开始我就一直在优化一切,因为我知道这很重要.对性能进行分析时,我的代码将其生命的40%花费在了一个函数-二叉树迭代器上. public ScTreeNode GetNodeForState(int rootIndex, float[] inputs) { 0.2% ScTreeNode node = RootNod

c#-创建一个数的质数分解的字符串(带指数)

因此,我有一个程序可以创建用户输入数字的主要因素的二叉树并将其显示在treeView控件中: Example One Example Two 现在,我想创建一个类似于消息框中显示的字符串,但要使用指数(“ 256 = 2 ^ 8”,“ 1234567890 = 2 X 3 ^ 2 X 5 X 3607 X 3803”) 我当前的代码如下: private void La

如何在Python中返回随机二叉树的所有可能路径

我有以下形式的随机二叉树 12 13、14 29、26、89 每个节点都有两个子节点,即(12-(13,14),13-(29,26),14-(26,89)).在这里,我需要以[[12,13,29],[12,13,26],[12,14,26],[12,14,89]]的形式返回所有可能的路径.我尝试了以下代码.我有更新列表的问题.提前致谢. class Tree: def _

java-如何在二进制搜索树中正确添加节点?

这是我的代码 public boolean insertWord(String key, String meaning) { if((root == null) ){ root = new TreeNode(); root.key = key; root.meaning = meaning; } else{ TreeNode subroot = root; if(subroot.key.

java-最好的方法是什么?二进制搜索树:仅当if语句时使用的最低共同祖先

我已经用if语句解决了这个问题.可以通过其他各种方式解决它.我刚刚开始编程,所以我无法考虑使用任何其他数据结构来解决此问题. 我的问题 : 如何在各种方式中选择最佳方法?与我的直接幼稚方法相比,这种最佳方法的优点/缺点是什么? 一般而言,不仅针对此问题.如何解决任何问题? 问题陈述

php-如何在不使用广度优先遍历的情况下找到二叉树级别k的节点数?

给定这个二叉树(实际上,二叉树可以是随机的和动态的,这只是一个示例…): 请参阅二叉树图像的链接:binary tree example 这是给定的事实: >所有节点都连接到其父节点,以便我们可以从下到上(当然也从上到下)遍历. >所有节点都包含有关其左右部分有多少个后代的信息. 问题是这样的:我需要

Python:替换全局变量

我正在尝试生成Ω的sigma代数. 我正在寻找如何替换全局变量.在这里,Ω= [1,2,3]. global sigma sigma=[[]] def buildDTree(sofar, todo): global sigma sal=[] if len(todo)==0: return binaryTree(sofar) else: withelt=buildDTree(sofar + [to

java-在二叉树中用作结构的可比性

我在Java中有一个很好的二叉树.但是我想增强节点中的数据内容.目前,我可以为其添加值,例如: for( int i = 1; i <=10; i++ ) t.insert( new Integer( i ) ); 它将添加如下内容: public void insert( Comparable item ) { current = parent = grand = header; nullNode

在Java中不使用队列的二叉树的正确视图

HERE是不使用队列的二叉树右视图的c实现.当我尝试将其转换为Java时,它不起作用.这是我的Java代码: (我认为最有可能是因为我没有正确理解算法以及对maxLevel指针/引用的处理) public static void rightView(TreeNode tNode){ int maxLevel = 0; rViewUtil(tNode, 1,maxLeve

解析javascript中的二进制表达式

我有一个这样的表达: { "type": "BinaryExpression", "operator": "OR", "left": { "type": "Literal", "value": 1, "raw": "1" }, "right":

Python在二叉树中检查叶的路径python在叶中提供数据

可以说我有这棵树: cough Yes / \ No sneezing sneezing Yes / \ No Yes / \ No f

用Java构造二叉树

我正在构建一个二叉树.如果这是一种正确的方法,请告诉我.如果没有请告诉我如何?我找不到构建一般二叉树的正确链接. BST到处都是编码的. 3 / \ 1 4 / \ 2 5 这是我想要制作的二叉树.我应该能够完成所有的树遍历.简单的东西. public class Binarytreenode { publi

c – 在cpp中返回一对时出错

我有以下代码: return new std::pair<BST<Data>::iterator(cursor), true>; 这会导致以下错误: could not convert ‘(operator new(4u), (, ((int*))))’ from ‘int*’ to ‘std::pair, bool>’ type/value mismatch at argument 1 in template parameter list for ‘tem

java – 使用队列进行遍历遍历的级别顺序的空间复杂性

这是级别顺序遍历的代码: public void bfsTraveral() { if (root == null) { throw new NullPointerException("The root cannot be null."); } int currentLevelNodes = 0; int nextLevelNodes = 0; final Queue<TreeNode> queue = new L

java – 以预订方式打印自身的二叉搜索树的顺序

我正在学习考试,我发现了这个问题. 鉴于二叉树预订单打印(打印,递归调用左,递归调用权)方法给出了以下输出: {10, 8, 1, 9, 12, 15, 14} 如果我们知道它是二叉搜索树,那么树是如何构建的? 所以,如果我没错,它必须是这样的: 10 / \ 8 12 / \ \ 1 9

python – 如何将以下函数转换为尾递归函数?

我正在跟随here,我正在尝试将正常的递归函数转换为尾递归函数.我设法理解斐波纳契和阶乘版本,但这个让我很难过.我理解算法在做什么,以及在转换中让我困惑的else语句. 在其他内部,它试图找到一个更接近你正在寻找的数字,然后放弃并找到它找到的数字小于你建议的数字. 我不知道如何

C,BTree插入

嗨这是我的SearchTree类的代码. Node *是一个结构,其中m_info类型为int,m_left(较小的节点按信息)和m_right(较大的节点按信息) void SearchTree::insert(const int &x) { Node* tempo = m_root; while (tempo != nullptr) { if (tempo->m_info >= x) { tempo = tem

二叉树实现C.

我一直在尝试在C中实现二进制搜索树以获得乐趣.我的 问题是我的插入功能有问题.以下是我到目前为止: class TreeNode{ public: int data; TreeNode *left; TreeNode *right; void Insert(int value, TreeNode *x); void TreeNode::Print(Tre

java – 用于计算表示算术表达式的二叉树的非递归方法

正如主题所述,我需要描述一种不使用递归来评估二进制算术表达式树的方法.没有给我任何其他细节或说明. 至于我对这些事情的理解,我需要模拟树的顺序遍历.假设我的教科书中概述了ADT方法的可用性,我有hasLeft(),hasRight(),left(),right(),isInternal()和isExternal()方法.我需要问

c – 二进制树堆栈溢出

我根据Alex Allain的example found here创建了一个二叉树.它在向它添加大约5000-6000个元素后抛出了一个堆栈溢出异常.知道如何防止堆栈溢出?原因是Insert()以递归方式调用自身. 2013年3月6日更新 这是我如何重构代码以避免堆栈溢出: void Insert(Key_T key, Value_T val, QuickMapN

c – 如何链接树中同一级别的所有节点

我有一个二叉树: struct node { int n; // value of node struct node *left; // left subtree struct node *right; // right subtree struct node *level; // level pointer (node “to the right”) } 最初,level字段设置为NULL. 我需要编写一个函数来链接树

c# – 从头开始​​实现树

我试图通过从头开始实现一个来学习树. 在这种情况下,我想用C#Java或C来做. (不使用内置方法) 因此每个节点将存储一个字符,每个节点最多有26个节点. 我将使用什么数据结构来包含指向每个节点的指针? 基本上我正在尝试从头开始实现基数树. 谢谢,解决方法:你描述的不是一个基数树……