免费注册 查看新帖 |

Chinaunix

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

perl 多重hash的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-08-31 01:17 |只看该作者 |倒序浏览
刚开始熟悉perl多重hash的用法,现在考虑一个效率的问题。
举个例子:

建立两个多重hash:

$hash1{$a}{$b}
$hash2{$d}{$c}

和一个多重hash:

$hash{1}{$a}{$b}

是用两个2重hash效率高,还是用一个3重hash效率高?


另外还有一个问题,给定一个多重hash:  $hash{$a}{$b}{$c}

如果给定一个值$a, 不管$b的值是多少,我只想取得所有{$a}{忽略$b}{$c}的键值,该怎么做?


谢谢!











论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
2 [报告]
发表于 2012-08-31 09:24 |只看该作者
一层最高,你会改吗,这里节省这点没什么意义怎么合适怎么写就是了。

map $_->{c}, values %{$hash{a}};

论坛徽章:
0
3 [报告]
发表于 2012-08-31 22:24 |只看该作者
效率确实是一个永恒的话题~~  

论坛徽章:
2
CU大牛徽章
日期:2013-04-17 11:46:28CU大牛徽章
日期:2013-04-17 11:46:39
4 [报告]
发表于 2012-08-31 22:38 |只看该作者
就这点儿效率提高不太明显哈

论坛徽章:
0
5 [报告]
发表于 2012-09-01 05:52 |只看该作者
不好意思,我好像没描述清楚我的意思。举个例子吧:
$hash{$a}{$b}{$c};
----------------------------

$hash{1}{2}{3}=1;
$hash{1}{4}{3}=1;
$hash{1}{7}{4}=1;
$hash{1}{2}{5}=1;

如果我用:

$hash{2}{3}=1;
$hash{4}{3}=1;
$hash{7}{4}=1;
$hash{2}{5}=1;

也能解决问题, 想知道这两种方法的效率差别,如果差别不大,第一种写法也许看起来方便些,可以把多个hash组织进一个多重hash里面。
-----------------------------

当 $a=1时,我想取得所有$c的键值(不管$b的值是多少) 也就是3,4,5.
曾想用循环解决,看是不是有另外更简单的方法。


谢谢 !


论坛徽章:
0
6 [报告]
发表于 2012-09-01 06:44 |只看该作者
可以升级硬件
或更换语言

论坛徽章:
0
7 [报告]
发表于 2012-09-01 11:00 |只看该作者
zhlong8 发表于 2012-08-31 09:24
一层最高,你会改吗,这里节省这点没什么意义怎么合适怎么写就是了。

map $_->{c}, values %{$hash{a}};

这块不是都给你说了吗?  
$hash{a}{b}{c}与 $hash{a}{b}  能一样不?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2012-09-01 12:05 |只看该作者
效率还是很关键的。
如果楼主是打算做数据分析的话。

论坛徽章:
0
9 [报告]
发表于 2012-09-01 13:18 |只看该作者
读完了,给我的感觉是你遇到的问题和你所描述的解决方法必然是不甚相干。。

论坛徽章:
2
CU大牛徽章
日期:2013-04-17 11:46:28CU大牛徽章
日期:2013-04-17 11:46:39
10 [报告]
发表于 2012-09-01 15:22 |只看该作者
貌似多一次hash值计算及查找
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP