找到树叶的最佳解决方案

时间:2013-08-06 08:50:22

标签: algorithm graph tree tree-search

我有一个树状的结构。我可以得到几条连接在一起构成树的线。这些线由起点和终点组成。以下是XML格式的树中的一些示例数据。

<Skeleton>
   <Line StartX="384" StartY="135"  EndX="385" EndY="129"  /> 
   <Line StartX="384" StartY="137"  EndX="384" EndY="135"  /> 
   <Line StartX="384" StartY="138"  EndX="384" EndY="137"  /> 
   <Line StartX="384" StartY="139"  EndX="384" EndY="138"  /> 
   <Line StartX="383" StartY="144"  EndX="384" EndY="139"  /> 
   <Line StartX="383" StartY="147"  EndX="383" EndY="144"  /> 
    ...
</Skeleton>

这是树的图形表示:

enter image description here

我需要做的是提取树上的叶子和交汇点,如图所示: enter image description here

我想找到一个关于执行此任务的复杂性和时间的优化算法。

1 个答案:

答案 0 :(得分:3)

  1. 从数据中生成数学图表(坐标是顶点的标签,数据中的每个line都会成为图表中的边缘。)

  2. 定义树的root vertex

  3. leafs 所有顶点都不是root vertex并且仅连接到一条边

  4. 交汇点是连接到至少3条边的所有顶点(在您的示例中)