binary-tree

    0热度

    1回答

    对于下面的代码,我试图让打印的节点以变量s内的完整表达式存储在字符串中。 string ExprTree::prefixOrder(const ExprTree & t){ string s; if (t.root != NULL){ s.append(t.root->toString()); prefixOrder(t.root->getLeftChild

    -1热度

    1回答

    给递归算法btProd它需要输入一个二叉树,并输出 包含在二叉树的数字产品的价值。如果输入是空树,那么算法应该返回null。 算法btProd(P) 要求:输入是一个树P 1:btProd(空)←0 2:btProd(叶X)←X 3 :btProd(节点L x R)←btProd(L)+ x + btProd(R) 这就是我会这么做的方式,但我不确定这是否正确

    0热度

    2回答

    我不知道,如果我这得太多,但我不认为一般情况下的解决方案:(的

    4热度

    1回答

    由于平衡BST将采取O(log(n))时间正在提取最大(通过提取我的意思是既查找和删除最大元素)。 另一方面Max-heap也需要O(log(n))时间来提取最大元素。 他们中的任何一个在Extract-Max操作中都有优势吗?

    2热度

    2回答

    我最近遇到过一个问题。我想获得std::set元素的相对索引。例如,如果std::set存储{1, 2, 4, 6, 9, 15},并且我想查找元素{4}并有效地获取其相关索引{2}。当然,我可以写std::distance(myset.begin(), myiterator),但这个操作的复杂性是O(n*logn)。如果我可以访问std::set的真正红黑树,我只需运行rb_tree_node_

    0热度

    1回答

    我有一个右偏的红黑树形结构,它在给定元素总数的情况下始终是某种形状。 给定元素k的大小和序数元素n,如何编写函数来获取大小为k的树中的第n个元素? (size:1) black { 1, 1 }(d:1) + + (size:2) black { 1, 1 }(d:1) + + red { 2, 2 }(d:1) + + (size:3) black

    0热度

    1回答

    请检查我的代码。我找不到错误在哪里。问题是here。 这里是我的解决方案: # Given a binary tree, find all paths that sum of the nodes in the path equals to a given number target. # # A valid path is from root node to any of the leaf n

    1热度

    1回答

    我的树具有以下数据类型。 data Tree a = Leaf a | Node (Tree a) a (Tree a) deriving (Show) 我想打印使用左到右的深度优先遍历给定树的表示。 目前,我决定采用模式匹配。 showt :: Tree a -> [Char] showt (Leaf a) = [a] ... 当我尝试使用GHCI运行它,这里的错误,我得到 • Co

    4热度

    2回答

    我创建了以下库以在二叉树中插入,删除,搜索和打印节点。 #include <stdlib.h> struct NODE { int code; char subject[20]; struct NODE *left; struct NODE *right; }; void InOrder(struct NODE *R) { if (

    0热度

    1回答

    我想在一棵二叉树中得到一个父亲的所有下行线,每个父亲有左右手臂,每个手臂有左右手臂等等。 like the following image。 在我的数据库中,我有一张名为users的表,每个用户都有一个父亲id和位置是L或R. 这是我的功能..但它仍然没有得到所有下线。 like the following image。