tree 相关问题

树是一种广泛使用的数据结构,它模拟具有一组链接节点的分层树状结构。

树形数据结构__str__方法

类TreeNode: def __init__(自我,数据,孩子= []): self.data = 数据 self.children = 孩子 def __str__(自我,级别=0): ret = " " * level + str(self.d...

回答 2 投票 0

竞争条件和递归:在下一行执行之前不返回字典

期望的结果 使用fixedValues 作为dictionaryRepresentation 参数初始化MyClass。 在执行 init 行之前设置固定值 问题 fixedValues 没有在 self 之前设置......

回答 1 投票 0

删除树中不包含在路径中的项目

公开课项目 { 公共字符串项目名称{获取;放; } 公共双值{获取;放; } 公共 int Id { 得到;放; } 公共 int ParentId { 获取;放; } 公开名单 public class Item { public string ItemName { get; set; } public double Value { get; set; } public int Id { get; set; } public int ParentId { get; set; } public List<Item> Children { get; set; } = new(); } 您好,我的任务是从树中删除所有不必要的项目。 我的团队为我提供了查找具有给定 ItemName 的项目的功能。例如,我将此函数与 ItemName =“Item 11”一起使用。 我的同事告诉我从树上删除所有不必要的物品(标记为红色)。 我应该得到项目 1,其中的列表仅包含项目 4,而项目 4 的列表仅包含项目 11。 我正在寻找如何解决此问题的提示。 我的同事建议我从找到的项目(第 11 项)开始迭代,并使用 ParentId 转到树的开头并删除不必要的项目,但我不知道如何以这种方式移动。 我的第二种方法是使用递归创建项目 11 的路径并删除该路径包含的所有没有正确 ID 的项目,但我在如何实现创建路径时遇到问题。 您能给我建议并帮助解决问题吗? 我将这个递归方法添加到Item类中: public bool ContainsElseRemove(Func<Item, bool> condition) { bool result = condition(this); foreach (Item child in Children.ToArray()) { if (child.ContainsElseRemove(condition)) { result = true; } else { Children.Remove(child); } } return result; } 请注意,ToArray()是必需的,因为我们无法修改正在迭代的列表。 为了测试目的,也这个: public void Print(int level = 0) { Console.WriteLine(new String(' ', 4 * level) + ItemName); level++; foreach (Item child in Children) { child.Print(level); } } 然后我通过向“Item 11”添加一个子项来创建此测试树,以查看它是否会被删除。 var tree = new Item { ItemName = "Item 1", Children = new List<Item> { new Item { ItemName = "Item 2", Children = new List<Item> { new Item { ItemName = "Item 5" }, new Item { ItemName = "Item 6" }, new Item { ItemName = "Item 7" } } }, new Item { ItemName = "Item 3", Children = new List<Item> { new Item { ItemName = "Item 8" }, new Item { ItemName = "Item 9" } } }, new Item { ItemName = "Item 4", Children = new List<Item> { new Item { ItemName = "Item 10" }, new Item { ItemName = "Item 11", Children = new List<Item> { new Item { ItemName = "Item 14" } } }, new Item { ItemName = "Item 12" }, new Item { ItemName = "Item 13" } } } } }; 测试: Console.WriteLine("Before"); tree.Print(); Console.WriteLine(); Console.WriteLine("After"); tree.ContainsElseRemove(i => i.ItemName == "Item 11"); tree.Print(); 打印: Before Item 1 Item 2 Item 5 Item 6 Item 7 Item 3 Item 8 Item 9 Item 4 Item 10 Item 11 Item 14 Item 12 Item 13 After Item 1 Item 4 Item 11 警告:“项目 1”永远不会被删除。它无法被删除,因为它是树的根,因此没有父级。但作为一种解决方法,你可以写: if (!tree.ContainsElseRemove(i => i.ItemName == "Item 11")) { tree = null; }

回答 1 投票 0

从 HTML 树中删除水平空白

我只需要自动删除这棵树中最后三个孙子之间的空格: * { 保证金:0; 填充:0; } .tree ul { 顶部内边距:20px; 位置:相对;

回答 1 投票 0

如何编辑D3.js RadialTree的第一个节点半径?

你好(我的英语不太好,所以剩下的都是用GoogleTrad翻译的,我是法语=D) 对于一个项目,我正在使用 html、js 代码和 D3js 库创建一个 RadialTree。 我尝试重现...

回答 1 投票 0

从数组列表可视化树

给出以下数组输入: [a、b、d] [a、b、e] [a、c、f] [a、c、g] [a、c、h] 我想要一个构建树的输出,如下所示: A /\ BC / \ / | \ d e f g ...

回答 2 投票 0

R 或 igraph 中无向树的有根树

我需要来自无向图的有根树作为R中的图对象。这个问题似乎微不足道,但我没有找到任何东西。我在igraph中找到布局函数,但结果不是igraph对象,但是...

回答 1 投票 0

检查二叉树对称性的代码无法按预期工作

给定二叉树的根,检查它是否是其自身的镜像(即围绕其中心对称)。 找到有效的解决方案很容易,但我想知道为什么我的解决方案不起作用......

回答 1 投票 0

如何获取RPART模型中树的深度?

假设我用RPART建立一个玩具树模型,我怎样才能得到树的深度? 库(r部分) 库(partykit) 拟合=rpart(因子(am)~.,mtcars,control=rpart.control(cp=0,minsplit = 1)) 情节(如....

回答 2 投票 0

避免从子父关系生成字典时出现循环

我正在尝试根据子父关系创建一棵字典树,但这里的问题是子项可以包含他的前辈之一,从而生成我想避免的循环。

回答 1 投票 0

最好的开源 javascript 树?

您能否提出开源但商业友好的许可(非 GPL)Javascript 树? 请考虑到我需要它用于现有的 Web 应用程序,所以我不确定是否还有其他...

回答 2 投票 0

AVL树删除和重组

我发现,当从 AVL 树中删除一个节点时,它可能需要多次重组,而插入只需要一次。谁能给我一个这样的例子...

回答 2 投票 0

在 GitHub URL 中:树和 blob 有什么区别?

每当我尝试添加 github 文件的链接时,我都会注意到这一点。您可以使用 blob 添加链接: https://github.com/facebook/pop/blob/master/Podfile 如果您更改 b...

回答 3 投票 0

将数据框转换为多层嵌套数据框

晚上好, 我正在尝试创建一个函数,该函数采用输入数据框架(下面提供的使用最高法院法官的示例数据)并将其重组为多代嵌套数据

回答 1 投票 0

判断有向图还是无向图是否是树

我想知道一种快速算法来确定有向图或无向图是否是树。 这个帖子好像有讲到,但是不是很清楚;根据此链接,如果图形是

回答 4 投票 0

JAVA树排序字典

我有一个任务来实现检查两个无向图是否同构。为了实现树,我使用简单的邻接列表示例http://theoryofprogramming.com/adjacency-list-in-java/。

回答 2 投票 0

fstream 在 endl 之前不会写入文件

我正在尝试定义这个内联函数。它将创建一个决策树(运筹学中使用的特殊二叉树)。 这是代码: 内联无效 printTreeFile(int* i_node,int* j_...

回答 1 投票 0

拆分树数据结构并将其发送到同一网络上的不同进程的最佳方法

我正在尝试提出一种设计,以有效地将树数据结构(每个节点可以有两个以上的分支)发送到套接字/不同的进程等。数据量似乎有上限......

回答 1 投票 0

在java中遍历非二叉树

我有一棵树,它是一棵非二叉树,每个节点都有两个以上的子节点。 我正在寻找一种遍历树和打印节点的算法,我对学习数据结构真的很陌生。 我知道...

回答 4 投票 0

如何使用 Python 分析器获取调用树?

我曾经使用过一个内置于系统监视器应用程序中的漂亮的 Apple 分析器。只要您的 C++ 代码是使用调试信息编译的,您就可以对正在运行的应用程序进行采样,并且它...

回答 5 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.