我需要计算表示为二叉树(左子、右兄弟表示)的 N 叉树的直径。 有人可以给我一个想法或伪代码吗? 我最好的尝试是在有左孩子时为结果添加 +1,但我认为这还不够。 ...
我需要计算表示为二叉树(左子、右兄弟表示)的 N 叉树的直径。 有人可以给我一个想法或伪代码吗? 我最好的尝试是在有左孩子时为结果添加 +1,但我认为这还不够。 ...
给定一个大的多路树A和一个小的多路树B ,我们怎么知道B是否是A的子结构? ...
假设我们有一组键 K = {1, 2, 3, 4, 5, 6,..., 15} 我们需要从中构建一个二四树,这样: CASE1 :树的节点数最少。 CASE2 :树的节点数最多。 我的想法- 二四树中的一个节点最多可以有3个键,每个节点有4个子节点,如果我们需要最小化节点数我们需要尽可能的保持节 ...
我正在研究这种类型的递归树 在哪里 我正在尝试将这种类型的 json 解码到其中 要解码我使用这些解码器的 Id 类型 为了解码树结构,我尝试了以下方法,使用 Json.Decode.Pipeline: 但是当我尝试解码结构时,出现以下错误: 但我不明白为什么既然字段id和entries都在那里,但 ...
我正在关注这篇<\/a>关于 catamorphism 的文章,我正在尝试为这样的递归数据类型定义折叠函数 ...
考虑以下玫瑰树的定义:树可以包含唯一的节点。data NTree a = Nil | Node { root :: a, subtree :: [NTree a]} deriving Show -- or just data NTree a = Nil | Node a [NTree a] t1 ...
我想询问是否有人知道在插入新节点期间将路径从根节点存储到多路树的新节点的高效方法。 例如,如果我有以下树: 对于每个节点,我通过以下列方式存储从根节点到节点的路径数组,方法是为同一深度的每个子节点分配唯一的int ID: 如果我现在从深度为3的叶节点1插入一个新节点,我将不 ...
我试图在Haskell中实现Negamax算法。 为此,我代表了游戏在玫瑰树中可能采用的未来可能性( Data.Tree.Forest (depth, move, position) )。 然而,通常有两个不同的移动顺序可以达到的位置。 重新评估(子树)重复的位置是浪费(并且很快变得很 ...
我试图创建一个可以打印节点及其所有子节点的函数,但是我试图使其高效且递归。 但这并没有真正起作用。 这段代码将为您提供一个可验证的示例,这是我尝试做的事情: 我得到的结果只是0 1 2 3 4 5这是所有节点,但是我想打印如下内容: ...
我曾尝试遍历一棵多路树,但我试图以一种有效的方式来做,但这并没有真正的帮助,更重要的是,我想递归地这样做。 我的想法是这样的:我有一棵树,一个孩子,是兄弟姐妹。 我想递归地跟孩子们走,然后只要有兄弟姐妹递归地跟他们走。 在这里,我将向您介绍我的数据结构以及如何尝试实现此结构。 这 ...
我正在使用以下类型的Tree: 我的目标是得到一个返回对[(Event,[Int])]对的列表的函数,其中[Int]是每个Event的坐标(在树中到达它的路径),即如果树是: 然后,我希望它返回[event,[0]] 。 我想忽略树的任何空头。 所以我的功能看起来像 ...
我想展平一棵看起来像这样的树: 可能的例子: 应该成为 解释原因:我尝试构建一种置换树。 我写了一个函数permute :: String -> Tree Char来可视化字符串到Tree的所有可能排列。 但是我不知道如何弄平这种树。 谢谢你的帮助。 ...
我有以下类型的数据要表: id parent_id child_id 级别 1 53987 52548 1 2 60764 52548 2 3 60764 53987 1 4 60764 59695 2 5 63457 59695 1 6 60764 63457 1 那么,我如何通过 ...
是否有关于如何在2-3-4树中拆分节点的规则? 例如,如果我将3、7、4、9插入2-3-4树中: 它将像这样(黄色)或那个(绿色)分开显示,如下所示: 都有效吗? ...
我在documentdb中具有以下JSON数据,我想将其解析为F#多向树区分的联合 F#多路歧视工会 其中CommentMultiTreeDatabaseModel定义为 我在f#中广泛引用了Multiway Tree上的Fold /递归 。 我不确定从哪里开始将这种J ...
我目前正在用C ++实现多路树,但是我仍然不确定它们到底是什么。 我已经阅读了一些文档,但是由于缺少图片或提供的可视化效果,我仍然感到困惑。 可以说我想要一个三向树,根据在线网络记录,这意味着每个节点最多可以包含3-1 = 2个元素,每个节点最多可以包含3个子元素。 下面我画了一些树, ...
我在理解如何将元素插入到ab * -tree时遇到麻烦,尤其是在涉及根节点时。 假设您有一个9阶的ab * -tree,并且要在树中插入以下项,即0、1、2、5、7、9、10和12,我认为您是从插入根开始的然后当您插入12时,它已满,因此会溢出,因此将导致根被分割并具有一个包含7的根节点, ...
我实现了一种方法来对树进行预遍历,该树不是二叉树。 这棵树的每个父节点都有一个子数组,所以这是我正在使用的方法: 将子节点链接到父“ tnAA”的样本 但是它仅输出根节点,此方法有什么问题? 解决方案:将子级数组链接到每个父级 :tnAA.setChildern(AA_c ...
我试图在C中建立多路树。我在分配给孩子的内存上遇到了麻烦。 我有一个向量,其中包含每个节点的父亲。 这是我的代码: 这是NODE的结构: 我不确定问题是否出在内存分配上。 按照我的逻辑,它应该可以工作。 ...
我需要为大学项目实现Trie (用Java)。 Trie应该能够添加和删除字符串(适用于阶段1)。 我每天花费几个小时(最近几天)试图弄清楚如何做到这一点并且每次都惨不忍睹。 我需要一些帮助,互联网上的例子和我的教科书(Java中的数据结构和算法,Adam Drozdek)没有帮助 ...