Junglelk 在 从 DFS 到 BFS,树的遍历方案与领域对象建模 中发帖
写在前面
一直很好奇经典的数据结构与算法在工作中有什么作用?又不是搞算法研究的,当然搞算法研究的的算法和上面说的算法也不是一回事儿。带着这个问题,在接手新项目,做架构设计之初,我就考虑将系统核心的管理对象用树来建模,并基于树的遍历算法来简化前后端之间的业务处理,下面是一次感觉还算值得记录的需求变更记录。树的原始结构基于手册给出。
背景
前端展示,后端的业务操作,需要一个能够唯一定位参数(压平后的树节点)的字符串 route,最初方案是使用 DFS + 回溯来遍历、拼接 route,但后来情况发生了变化。
变更
最开始的领域对象,其手册中节点没有重复,因此基本的DFS + 回溯已经能够满足业务需求,但现在的情况是同层会出现多个相同的节点,基于 DFS 的方案无法关注到同层的上下文,因此会产生大量重复的 route,这是无法接受的。
数据结构
为表一般性,本文并不展示原始业务代码,仅保留...