- 博客(3)
- 收藏
- 关注
原创 组装树形结构数据优化思路_时间复杂度O(n)Java语言例子
项目中经常会遇到前端需要展现树形结构数据,比如菜单树、省市区联动,在小数据量的时候,不管用什么算法都可以,但一旦数据大,不同算法的差距就会非常的大。公司的项目中老代码用的是递归方法构建树结构,2万多个数据就需要跑20s,把生产服务器CPU都跑满了,于是对该方法进行重构。拷贝的过程中,一并收集每个节点的id,后面用来判断每个节点的parentId是否存在,不存在则认为是根节点。遍历集合,将节点的id作为key,从第3步组装的map中获取子节点,利用Java的地址引用构建树,并且将不是根节点的数据从集合移出。
2024-01-19 11:00:47 462 1
原创 Java树型结构优化(一)
上边的代码中先找到所有的根节点,再通过findChildren方法为每一个根节点找到所有的子节点,最终形成一个树形结构。本文以一个多级菜单的案列描述了在java中如何用递归来组装树形结构的数据。(2) 递归为每一个根节点找到其所有的子节点。(1) 在源数据list中找到所有的根节点。java中生成树形结构主要分为两步,优化请看Java树型结构优化(二)首先建立描述菜单结构的实体类。下面就用代码来实现下。
2024-01-18 17:32:24 496
空空如也
美团外卖对接开发问题
2024-06-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人