词频统计工程有关

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

模块
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.二叉树难平衡,给跪。

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

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

 

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

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

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

3.快排真的很快……

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值