Tag: tree

List 的递归读取

我有List这种结构,具体来说它是一个“CategoryItem”对象。 这是我的“CategoryItem”对象的声明。 public class CategoryItem { public string Name { get; set; } public int CategoryID {get; set;} public int ParentID {get; set; } public List SubCategory {get; set;} } 这是我的示例数据结构: [0] CategoryID: 249 Name: “WelcomeNC” ParentID: 0 SubCategory: length=4 [0] CategoryID: 250 Name: “CNC” ParentID: 249 SubCategory: length=0 [1] CategoryID: 251 Name: “Production” ParentID: […]

遍历c#中的对象树

我有一个由几个对象组成的树,其中每个对象都有一个名称(字符串),id(int)和可能是相同类型的子数组。 如何浏览整个树并打印出所有ID和名称? 我是编程的新手,坦率地说,我无法解决这个问题,因为我不知道有多少级别。 现在我正在使用foreach循环直接在rot下面获取父对象,这意味着我无法得到孩子。

在c#中构建一个简单,高性能的树数据结构

我需要以树型创建产品目录。 每个树节点都以ID(字符串)表示,树数据上的函数只有2: getChild(string ID) ,提供ID,获取子项(不需要包含子项的子项),如果ID为null,则获取所有根节点 getParent(string ID) ,如果有,则返回父ID,如果是root,则返回null 既然树一旦决定,就不会改变,所以我认为把所有代码放在静态中会是最好的。 所以我开始尝试使用Dictionary “id”: {parent:ID, child:[id2, id3, id4….]} 由于大约1000多个目录,我发现我很快弄乱了自己,静态数据中出现了很多错误,并使最终结果可用。 此外,现在我只写了几十个,代码看起来像混乱。 请建议以高性能创建这个简单的目录树。 谢谢

代表树木的物体

C#(或.net)中是否有任何对象表示二叉树(或好奇心)和n-ary树? 我不是在谈论表示树控件,而是作为模型对象。 如果没有,是否有任何良好的外部实现?