日期:2014-05-20  浏览次数:20765 次

求一个算法问题!,如何得到2棵树,最下的子节点,并且判断是否是同一顺序。着急!

              -------1   -----1
              -------2   -----1  
1----     -------3
              -------4  
              -------5
                     
              -------1
              -------2   ------1
1----     -------3
              -------4
              -------5

比如第一个树,最下的点就是   1-1-1,1-2-1,两个点,
第二个书,最下的点就是1-2-1,一个点,
第一个树第2个点和第二个树的第一个点是一样的。

现在就知道一个List <Node>   list   =   node.getChildren();
可以得到一个父节点。还有知道。2个树的最上节点。请问算法怎么写?




------解决方案--------------------
没看懂,不过就树而言,深度优先就可以了
------解决方案--------------------
什么叫同一顺序???
------解决方案--------------------

给大家介绍个技术群

大家一起学习,一起提高

32517994
------解决方案--------------------
没看懂啥意思
------解决方案--------------------
做一个遍历算法,深度优先还是宽度优先都无所谓,在遍历的过程中,每当遍历到叶子节点,就把当前的路径记录下来,记录的时候,如果当前路径的长度比已经记录的路径的长度短,则不做记录;如果当前路径的长度比已经记录的路径的长度长,就放弃原来所有的记录,只留下当前路径;如果当前路径的长度跟已经记录的路径的长度一样,就一起记录下来。

这样,遍历完一棵树后,你就得到一个列表,记录着这棵树里的最长路径。

把两棵树都做个遍历,比较两个列表,OK?