免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1748 | 回复: 2
打印 上一主题 下一主题

关于一个迭代的PERL实现 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-20 11:16 |只看该作者 |倒序浏览
小弟最近用PERL写一个程序,要实现一个算法,如下:
8X8矩阵中,
00010011
01110001
00100010
11001010
10000110
10111100
00001111
11110000
先在矩阵中每2行中去寻找最佳匹配的两行(相同位置同为1,如第6,8行,匹配内容为:11010000,1的个数越多,匹配越佳,有可能会有多个选择,即最佳匹配可能有很多种组合,如这里,6,8行有3个1匹配,4,6行也有3个1可以匹配。选择其中一个作为最佳匹配即可。)
找到最佳匹配以后,删去这两行中的匹配pattern(如第6,8行中,删去匹配后分别为,6行:00001100,8行:00100000),然后在矩阵最后填加刚才最佳匹配的内容作为新的一行,比如刚才6,8行匹配的内容为11010000,则现在矩阵为:

00010011
01110001
00100010
11001010
10000110
00001100
00001111
01000000
10110000 -- 匹配行
新的矩阵比刚才多一行。

下一轮的寻找匹配内容时,在新的矩阵中寻找,即也要在刚填加的匹配行中寻找。。


如此这般,直到,最佳匹配内容中,1的个数不超过1为止。。

各位大侠,有没有什么方法? 我倒是想了一些方法,但过于烦琐。。。特来请教大家,谢谢!

论坛徽章:
30
水瓶座
日期:2014-08-22 21:06:3415-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:4715-16赛季CBA联赛之天津
日期:2019-01-11 01:11:44
2 [报告]
发表于 2009-03-20 14:03 |只看该作者

论坛徽章:
0
3 [报告]
发表于 2009-03-20 15:15 |只看该作者
我看不懂CPAN上面那个。。。初学PERL,,都是用C的思想来写PERL的。。寒。。暴殄天物啊~~~
还望大家指点一个思考方向啊。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP