免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: chenhao392
打印 上一主题 下一主题

新手perl问题求助 [复制链接]

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00
11 [报告]
发表于 2007-02-08 21:15 |只看该作者

回复 9楼 xiaoshengcaicai 的帖子

不知我哪里说的不请楚?
就是一个有两列的数组,每一行的两个字母应当提起其中一个,就反应出另外一个。

论坛徽章:
0
12 [报告]
发表于 2007-02-08 21:21 |只看该作者
现在有数组里的@array,经过如下转换:

$num=0;
while($num<=(@array/2)){
push @two_array, [@array[$num],@array[$num+1]];
     $num+=2;
}

里面的数据应该是:
a,b;
a,c;
b,e;
b,f;
c,e;
c,f;
b,c;
e,f;


@ARRAY里面是什么值?
$num=0;
while($num<=(@array/2)){
push @two_array, [@array[$num],@array[$num+1]];
     $num+=2;
}
这段算法是你写的?

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00
13 [报告]
发表于 2007-02-08 21:27 |只看该作者
我把例子说清楚点
比方说有
a-b;a-c两个与字母a相关的行;那么我就需要找出含有b,c的行b-e,  b-f,   c-e,  c-f等,然后以此类推,直到找到最后一个可以类推出的行,一次寻找结束。
然后,我需要找出任意两个字母之间一共有多少个不同的路线,每条路线经过了多少个字母。最后计算所有两字母间经过“最少字母那一条路线”的平均数。“所有两字母之间路线条数”的平均数。
不知说清楚没有?

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00
14 [报告]
发表于 2007-02-08 21:33 |只看该作者

回复 12楼 xiaoshengcaicai 的帖子

是英文+数字的标号,如DDD8888.
算也不算,看到过一个什么,改了一部分,为我所用。

论坛徽章:
0
15 [报告]
发表于 2007-02-08 21:35 |只看该作者
a,b;
a,c;
b,e;
b,f;
c,e;
c,f;
b,c;
e,f;

我对楼主题目的理解是:

有a,b,c,d,e,f 这些字母, a 到b, a到c有通路, b到e,b到f有通路,.....
现在要求任意2个字母之间的最短路径,并需要求出路径经过的字母

论坛徽章:
0
16 [报告]
发表于 2007-02-08 21:39 |只看该作者
任意两个字母之间一共有多少个不同的路线,每条路线经过了多少个字母:

最简单的方法就是先构造一个图, 用hash实现就可以,然后对所有的字母使用广度优先遍历

构造hash+ array ref的数据结构,用来存储路径

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00
17 [报告]
发表于 2007-02-08 21:44 |只看该作者

回复 15楼 xiaoshengcaicai 的帖子

啊,是我没说清楚,并不需要求出所有路径上的字母,只需要第1个和最后1个,中间计数就可以。比如:a-e,一条最短通路经过一个字母c,那么最后得出 a-c,经过1个字母。
要求出:
   所有最短通路经过字母的平均数,求出所有两字母间通路(包括长的)的条数,找出条数的平均数,为了防止过长的通路问题,可以限制通过字母到了多少个,比如100,就不计算了。

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00
18 [报告]
发表于 2007-02-08 21:52 |只看该作者

回复 16楼 xiaoshengcaicai 的帖子

谢谢,不知道什么是广度优先遍历。。不过baidu了一下,一下跳出好多,呵呵。
能给一下解释最好,要是太麻烦的话,我想这些够可以让我摸索着试试了。
PS:我是菜鸟的说。

论坛徽章:
0
19 [报告]
发表于 2007-02-08 22:03 |只看该作者
哦。我有个问题
两个字母之间的通路, 中间的字母是不是不允许经过2次或以上

如果是这样的话,不需要用广度优先遍历,我刚才想到一个更好一点的算法

PS, 我也是菜鸟

[ 本帖最后由 xiaoshengcaicai 于 2007-2-8 22:08 编辑 ]

论坛徽章:
0
20 [报告]
发表于 2007-02-08 22:19 |只看该作者
原帖由 福瑞哈哥 于 2007-2-8 18:33 发表
不用语言如何描述算法? 管他是真语言假语言总得有一种吧,perl还不错,语法简单,千万别用C玩算法。你可以去下载一本《Mastering Algorithms with Perl》,以前翻了一遍,还不错。

可否email一个 thank you
redspid@163.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP