-------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个树的最上节点。请问算法怎么写?

解决方案 »

  1.   

    没看懂,不过就树而言,深度优先就可以了
      

  2.   

    to 楼上的。
    就是。如果2棵树的结构一样。每个点下面有4个子点,那么他们。把他们编号1,2,3,4,
    那么有2个点,他们父节点的编号一样,父节点的父节点编号一样,一直到最上层。同时他们还处于同一层次。
      

  3.   


    给大家介绍个技术群大家一起学习,一起提高32517994
      

  4.   

    做一个遍历算法,深度优先还是宽度优先都无所谓,在遍历的过程中,每当遍历到叶子节点,就把当前的路径记录下来,记录的时候,如果当前路径的长度比已经记录的路径的长度短,则不做记录;如果当前路径的长度比已经记录的路径的长度长,就放弃原来所有的记录,只留下当前路径;如果当前路径的长度跟已经记录的路径的长度一样,就一起记录下来。这样,遍历完一棵树后,你就得到一个列表,记录着这棵树里的最长路径。把两棵树都做个遍历,比较两个列表,OK?