C#项目中的一个算法问题

koj5201314 2010-07-08 06:48:36
   string[] 序列 = { "1", "1#2", "1#2#3", "1#2#3#4", "1#2#5", "1#2#5#6" };
int[] 组号= { 1, 2, 3, 4, 5, 6 };




我在做一个项目,有个问题,需要一个算法,比如在一张电路图上的线路(线路可能存在分支)上有6个节点,在各个节点都装有报警设备,为每个节点上的报警设备都编有相应的组号,现假设从第一个节点到第六个节点的组号分别为1、2、3、4、5、6,第1、2节点在主干线上,3、4节点在分支线一,5、6节点在分支线二,为每个节点都编有线内序列来判断分支的走向,比如节点1是"1",节点2是"1#2",节点3是"1#2#3",节点4是"1#2#3#4",节点5是"1#2#5",节点6是"1#2#5#6",由此可根据线内序列判断出1、2、3、4为分支一,1、2、5、6为分支二,如何根据上面的两数组得到两个分支的最后一个节点的线内序列。组号不一定按数字大小顺序排列,以上只是举个例子。
...全文
127 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
alian_1126 2010-08-26
回复
koj5201314 2010-07-09
有哪位高手能写个案例吗?
回复
biosxjj 2010-07-09
叶节点就是线内序列啊 我不懂
回复
showjim 2010-07-09
字典树,如果分级有序的话可以加上hash定位
回复
koj5201314 2010-07-09
这个逻辑该如何写呀?
回复
koj5201314 2010-07-09
高手指点一下呀?
回复
acdbxzyw 2010-07-08
第一个数组中的字符串按字符串长度排序。
最长的字符串肯定是一个分支的最后一个节点的线内序列。
再看第二长的字符串,若不是最长字符串的子串,则是另外一个分支的最后节点的线内序列;若是最长字符串的子串,那就不是另外那个分支的线内序列,则继续看第三长的字符串。。。
回复
发动态
发帖子
数据结构与算法
创建于2007-08-27

3.2w+

社区成员

数据结构与算法相关内容讨论专区
申请成为版主
社区公告
暂无公告