如何高效将扁平数据转换成树形结构算法优化?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1395个文字,预计阅读时间需要6分钟。
当我们需要将一个一维数组转换成多层数组结构时,最简单但最慢的方法是多重嵌套的for循环。这样做虽然简单,但存在一些缺点,比如效率低、多层嵌套不易于阅读和维护。
当我们需要将一个一维数组转换成一个多层结构的时候,最简单但是最慢的就是多个for循环嵌套,但是这样做有一些缺点,那就是效率太低、而且有多少层就需要嵌套几个for循环,不好用。
我实现了用O(n)级算法将 一个扁平的数组即一维数组代表的菜单结构转换成一个多层级的菜单结构。
一位数组中每一个元素必须要包含以下属性:
- 拥有一个唯一的id
- 拥有一个parent_id, 这个id指向它父级的id
其他则为每一个元素中的一些信息,我这里是菜单,就有菜单的名称和url信息。
本文共计1395个文字,预计阅读时间需要6分钟。
当我们需要将一个一维数组转换成多层数组结构时,最简单但最慢的方法是多重嵌套的for循环。这样做虽然简单,但存在一些缺点,比如效率低、多层嵌套不易于阅读和维护。
当我们需要将一个一维数组转换成一个多层结构的时候,最简单但是最慢的就是多个for循环嵌套,但是这样做有一些缺点,那就是效率太低、而且有多少层就需要嵌套几个for循环,不好用。
我实现了用O(n)级算法将 一个扁平的数组即一维数组代表的菜单结构转换成一个多层级的菜单结构。
一位数组中每一个元素必须要包含以下属性:
- 拥有一个唯一的id
- 拥有一个parent_id, 这个id指向它父级的id
其他则为每一个元素中的一些信息,我这里是菜单,就有菜单的名称和url信息。

