树形结构博客目录

关于树形结构的博客,我总结了下面五篇,其实进行树的加载与展示有很多方案,我觉得我通过优雅的方式实现了,并且做到结点通用与业务扩展属性,针对树的装配做了大量的分析工作,尤其是在算法上力求简洁,当然这期间历经数次重构。

 

比较有意思的是我在重构中经历如下阶段:

 

1.结点 AbstractNode,树 AbstractTree,用到了模板方法,在抽象类里面组织好步骤,结点列表放在子类里实现。

 

2.在1中有一个问题就是造成类的膨胀因为针对每一个业务都会有不同的业务知识在里面,都要写一个新的子类来实

 

现AbstractNode中定义的抽象方法,还要有一个AbstractTree实现,针对这个问题,我要对它进行大的改动:

首先:修改AbstractNode 为泛型类,并改成具体类型,提供extend扩展,这样解决了针对不同的业务要建立不同的结点实现。

其次:修改AbstractTree 为泛型类,并改成具体类型。只要传入结点列表即可建立一个tree实例。

 

这里有一些比较好有意思的设计:

1.如何对结点进行排序。

2.如何得到每一个结点下面的最大深度。

3.怎么样不用第三方js插件展示菜单。

 

树形结构之一 建立务无关的结点类型


树形结构之二 运用递归加载你想要的结构


树形结构之三 帮助你测试


树形结构之四 web展示方案


树形结构之五 数据提取-递归查询

你可能感兴趣的:(数据结构,算法,树,博客系列目录)