利用哈希(词典)统计数组中各元素的个数

本文介绍了如何利用哈希(在Perl中)或词典(在Python中)来统计数组中各元素出现的次数。通过示例代码展示了Perl和Python实现这一功能的方法,强调了哈希或词典在统计中的作用及其键的唯一性。

哈希是perl中的一种数据结构。在pyhon中叫做词典。其实是同一种东西。利用哈希(词典)能统计数组中各元素出现的次数。

use strict;
my @array=(1,2,3,4,2,2,4,,3,5);
my $key;
my $value;
my %hash;
foreach (@array){
++$hash{$_};
}


while(($key,$value)=each %hash){
print "$key => $value\n";
}

上述perl代码统计了@array中各元素出现的频数。

下面是python版本

import pprint
array=[1,2,3,4,2,2,4,3,5]
count={}
for element in array:
count[element]=count.get(element,0)+1
pprint.pprint(count)


<

1. 读取一篇包括标点符号的英文文章(InFile.txt),假设文件中单词的个数最多不超过5000个。从文件中读取单词,过滤掉所有的标点。 2. 分别利用线性表(包括基于顺序表的顺序查找、基于链表的顺序查找、折半查找)、二叉排序树和哈希表(包括基于开放地址法的哈希查找、基于链地址法的哈希查找)总计6种不同的检索策略构建单词的存储结构。 3. 不论采取哪种检索策略,完成功能均相同。 (1)词频统计 当读取一个单词后,若该单词还未出现,则在适当的位置上添加该单词,将其词频计为1;若该单词已经出现过,则将其词频增加1。统计结束后,将所有单词及其频率按照词典顺序写入文本文件中。其中,不同的检索策略分别写入6个不同的文件。 基于顺序表的顺序查找--- OutFile1.txt 基于链表的顺序查找--- OutFile2.txt 折半查找--- OutFile3.txt 基于二叉排序树的查找--- OutFile4.txt 基于开放地址法的哈希查找--- OutFile5.txt 基于链地址法的哈希查找--- OutFile6.txt 注:如果实现方法正确,6个文件的内容应该是一致的。 (2)单词检索 输入一个单词,如果查找成功,则输出该单词对应的频率,同时输出查找成功的平均查找长度ASL和输出查找所花费的时间。如果查找失败,则输出“查找失败”的提示。做一个c++5.11可用的代码
最新发布
06-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值