需求,根据一个树形结构数据,给数据点A,给数据节点B,求A点到B点中间经过的所有节点。
以下用一个示例图展示其实现方式
这种需求可以轻易联想到地图,地图点A到点B,需要得到一条最短的路径,程序实现也可以基于此设计思路实现。
实现步骤
- 给树形结构的每个节点标记路径,和节点名(唯一ID),如地图上的四川省》成都市》春熙路》小葵花店(节点ID)。
- 确定点A和点B的路径节点。
- 根据点A找点B的路径点
- 根据点A找点B的路径点是否在点A描述的路径节点中,如果有,那么点A中描述的点A到B之间的节点就为路径。
- 如果点A中描述的路径中没有点B的节点,那么比较点A和点B描述的路径节点,找出重复的一个节点,这个节点是他们通道的分支点,然后点A到分支点》分支点到点B中间所经过的节点就是他们组成的最短路径。