词频统计工程有关

//=======================开始干之前=======================

模块
Word Set 词表。
Seek Files 搜索文件。
Parse Files 分词记录。
Sort and Print 排序打印。

打算用C++写预计8个小时能写完吧

 

//=======================开始干之后=======================

用C# .NET 各种方便,就用C#了。

Word Set 词表。1分钟。。
Seek Files 搜索文件。C#有Directory,又5分钟。
Parse Files 分词记录。C#有splitter,又5分钟,扩展模式写一写,大小写不敏感比较单词写一写、调一调速度(string的compareTo()貌似特慢),3个小时过去了……
Sort and Print 排序打印。C#有sort(),先试试,又5分钟。。。

 

//=======================提高性能=======================

我说用二叉树保存词表,然后当时我不知道SortedDictionary是二叉搜索树,于是自己写了一个巨简单二叉树。

大小写不敏感比较写史了,调了半天。

最后用归并排序……归并一开始写史了, 调了半天。

一共好像花了5、6个小时。

词频统计工程有关_第1张图片

 

//=======================后来=======================

后来听安然说:

1.二叉树难平衡,给跪。

2.词表可以无序,用hash存,给跪。

3.快排比其他排序快1倍,给跪。我说快排碰到频率相同的还要比较字典序,词表有序归并是稳定的就不用比较...但是仔细想了想,二叉树插入的时候比较次数已经至少nlogn了,这个……

 

//=======================学习=======================

1.要知道有个东西叫哈希,C#里Dctionary是哈希的。

2.别碰到东西就想自己写,木达大!学学找找总会有的!

3.快排真的很快……

转载于:https://www.cnblogs.com/skyjoker/archive/2012/09/23/2699108.html

你可能感兴趣的:(词频统计工程有关)