0

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

  • id:唯一的数字标识符
  • name: 唯一的字母数字名称
  • parent_id: 与他人的亲子关系id

父关系由 给出parent_id,它指代id当前 ID 嵌套在其下的另一个关系,使当前标签成为子标签。也可以为空,这parent_id意味着当前 ID 位于根级别,并且没有嵌套在任何其他 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

使用像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无法更改。

4

0 回答 0