Tree-Conver 是什么?
Tree-Conver 是一个能将扁平节点数组与树形数组相互转换的工具。
对外导出 arrayToTree
、treeToArray
两个方法。
性能
数组转树
该方法的时间和空间复杂度均为 O(n),其中 n 是输入数组的长度。方法中两次遍历数组,一次创建节点 ID 到节点的映射,一次将节点添加到其父节点的 children 数组中。最终存储所有节点和子节点。
树转数组
该方法采用栈实现迭代,优化了内存和调用堆栈。该方法的时间复杂度与树的深度和节点数有关。最坏情况下为 O(nlogn),但在树高较小时,即使有多子节点,也能保持 O(n)。
空间复杂度为 O(n),栈中节点数组的最大长度等于树的深度。