转载统计大文件里,频数最高的10个单词,(C# TPL DataFlow版)最近公司搞了一个写程序的比赛,要求从2G的文件里统计出出现频率最高的10个单词。最开始的想法是使用字典树,后来发现字典树更适合用在找前缀上,在查找没有hash表效率高。之后使用Hash表+DataFlow完成了功能,2G的文...
分类:
其他好文 时间:
2015-04-18 23:18:25
阅读次数:
210
最近公司搞了一个写程序的比赛,要求从2G的文件里统计出出现频率最高的10个单词。最开始的想法是使用字典树,后来发现字典树更适合用在找前缀上,在查找没有hash表效率高。之后使用Hash表+DataFlow完成了功能,2G的文件处理在20秒以内(其实我有信心优化到10秒以内,但是太折腾了)。这是我的设...
Let the Balloon Rise
http://acm.hdu.edu.cn/showproblem.php?pid=1004
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 84401 Accepted Subm...
分类:
其他好文 时间:
2015-04-18 11:37:16
阅读次数:
125
Let the Balloon Rise
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 84414 Accepted Submission(s): 31834
Problem Descriptio...
分类:
其他好文 时间:
2015-04-18 11:34:20
阅读次数:
127
不敢去做一件事就会一直觉得它很难。。
以前一直觉得AC自动机应该超难写,学了以后发现实在太好写了。。
AC自动机的fail指针与KMP算法的next数组是极为相似的,都是通过这些来减少冗余的扫描,所以我也把AC自动机的fail指针名字直接开成next了。。
AC自动机与KMP的不同在于KMP是单模式串匹配,AC自动机是多模式串匹配,所以AC自动机可以理解为就是在trie树上加上一些next指...
分类:
其他好文 时间:
2015-04-18 10:05:17
阅读次数:
178
友情题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1247
#include
#include
#include
#include
using namespace std;
const int N=30;
const int MAX=50005;
char word[MAX][30];
struct node
{
bool temp;
no...
分类:
其他好文 时间:
2015-04-18 08:52:58
阅读次数:
148
题目链接:http://poj.org/problem?id=2503
//做了几道trie得出了一条结论,,,当单词的长度超过15时,,适合hash,,,不超过15时适合trie,,,,
//因为trie的常数主要乘在了单词长度的循环上,,,,,而hash在这个循环的常数基本是1,,,但是hash此外需要处理冲突,,单词越长,,发成冲突的可能性就越小,,解决冲突的时间就越...
分类:
其他好文 时间:
2015-04-18 08:51:09
阅读次数:
129
算法图搜索(广度优先、深度优先)深度优先特别重要排序动态规划匹配算法和网络流算法正则表达式和字符串匹配数据结构图 (树尤其重要)Map堆栈/队列Tries | 字典树额外推荐贪婪算法概率方法近似算法算法:三路划分-快速排序合并排序(更具扩展性,复杂度类似快速排序)DF/BF 搜索 (要知道使用场景)...
分类:
编程语言 时间:
2015-04-17 11:09:01
阅读次数:
191
struct TrieNode
{
int Count;
struct TrieNode* Next[26];
}Tree,*Trie;
TrieNode *root;
void Create() //初始化
{
root = new TrieNode;
memset(root->Next,NULL,sizeof(root->Next));
root-...
分类:
其他好文 时间:
2015-04-15 11:26:35
阅读次数:
131
ac自动机第一题
代码参考kuangbin,用数组实现
思想参考的这个,写得很详细:http://www.cppblog.com/mythit/archive/2009/04/21/80633.html
#include
#include
#include
#include
#include
using namespace std;
#define N 500010
struct trie...
分类:
其他好文 时间:
2015-04-14 11:20:25
阅读次数:
103