海量数据中找出出现次数最多的前10个URL

Posted 爱橙子的OK绷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了海量数据中找出出现次数最多的前10个URL相关的知识,希望对你有一定的参考价值。

#include<iostream>
#include<string>
#include<map>
#include<vector>
using namespace std;

int main(void)

    //海量数据
    string a[5]="ab","b","ccc","ab","ccc";
    int n=sizeof(a)/sizeof(a[0]);
    cout<<n<<endl;
    vector<string> vs(a, a+n);
    //哈希统计频率
    map<string,int> mp;
    for(int i=0;i<n;i++)
    
        if(mp.find(a[i])!=mp.end())
        
            mp[vs[i]]++;
        
        else
        
            mp[vs[i]]=1;
        
    
    //对字符串按出现频率排序
    multimap<int,string> multimp;
    map<string,int>::iterator it;
    for(it=mp.begin();it!=mp.end();it++)
        multimp.insert(pair<int,string>(it->second,it->first));
        //multimp.insert(it->second,it->first);
    
    //输出出现频率最高的两个字符串
    multimap<int,string>::iterator mit=multimp.end();
    for(int i=1;i<=2;i++)
    
        mit--;
        cout<<mit->second<<endl;
    

以上是关于海量数据中找出出现次数最多的前10个URL的主要内容,如果未能解决你的问题,请参考以下文章

Linux命令经典面试题:统计文件中出现次数最多的前10个单词

有1千万条有重复的短信,以文本文件的形式保存,一行一条,也有重复,用5分钟时间找出重复出现最多的前10条短信。

在100G文件中找出出现次数最多的100个IP(转)

海量数据处理10题

算法1

海量数据