如何将具有ID和子标签关系的标签列表组织成嵌套结构?

时间:2013-07-31 13:48:48

标签: matlab data-structures

我有一个给定的1xN-fields结构数组,嵌套有N个结构,有三个字段:

  • id:唯一数字标识符
  • name:唯一的字母数字名称
  • parent_id:与另一个id
  • 的父母关系

父母关系由parent_id给出,id指的是当前ID嵌套的另一个parent_id,使当前标记成为子标记。 tags = field1: [1x1 struct] field2: [1x1 struct] tags.field1 = id: 1 name: 'tag1' parent_id: [] tags.field2 = id: 2 name: 'tag2' parent_id: 1 也可以为空,表示当前ID位于根级别,而不是嵌套在任何其他ID下。例如:

tags

使用上面的field2结构,field1将嵌套在树形图中的tags_sorted = field1: [1x1 struct] tags_sorted.id_1 = id: 1 name: 'tag1' parent_id: [] id_2: [1x1 struct] tags_sorted.id_1.id_2 = id: 2 name: 'tag2' parent_id: 1 中。这引出了我的问题:如何有效地重新组织给定格式的数据以生成基于文本的树形图并提供数据以便进一步处理?

我尝试过的一种方法是重组为一大堆嵌套结构,如下所示:

tags

随着子标签(子标签,子标签......)的子标签数量的增加,导致越来越深的嵌套。我无法想出一种能够处理无限数量嵌套的算法。

有什么想法吗?我担心{{1}}的输入数据结构无法改变。

0 个答案:

没有答案