读书人

突然自己想出这个有关问题,毫无头绪,有

发布时间: 2012-02-13 17:20:26 作者: rapoo

突然自己想出这个问题,毫无头绪,有人会这个算法思想吗
给出 4个点 1到4 3-2 3-4 1-4 1-3 (表示两个点相连)
问题: 给出一个点X,把以X为始点所有线路(包括回路)
但是不要走走过的路
eg,1点的线路为
1-3-4-1
1-4-3-1
1-3-2

[解决办法]
这个就是源点路径问题 简单 看我的博客 好像有
[解决办法]
最简单的算法,不关注效率的话;
看得到这个的过程:
1-3-4-1
1-4-3-1
1-3-2

源点形成的路径标记为origin_path(point_name)={};
你这里就是origin_path(1)={1-3-4-1,1-4-3-1,1-3-2};
origin_path(1) = 1-origin_path(3) U 1-origin_path(4)---这里随着子树分解,作为路径节点数减少
origin_path(3) 计算重复同样的过程

图的深度优先搜索... 看一下严蔚敏的数据结构 讲的还蛮到位的...
[解决办法]
用哈希表来表示路径,可以快速判断是否有环.

读书人网 >软件架构设计

热点推荐