1000w 个单词如何统计词频

namewchwch 2010-09-07 04:04:52
如题 c++下
...全文
264 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级大笨狼 2010-09-13
  • 打赏
  • 举报
回复
哪种语言会有1000万词汇?
英语最多几十万而已,不会过百万。
百万是医学+化学专业词汇的水平。
可用的就几万。
平常人用的最多就2万。
日常用的就2000。
lz3771 2010-09-12
  • 打赏
  • 举报
回复
hash吧,可以考虑map么
cxb23 2010-09-12
  • 打赏
  • 举报
回复
能详细点不?
xero_123 2010-09-11
  • 打赏
  • 举报
回复
好像就是tire和hash吧,别的方法好像也没有很高的效率
air_snake 2010-09-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 namewchlp 的回复:]

自己写hash 后用计数排序。
[/Quote]

这个也就hash了吧,其他的应该没有什么办法,除非还有些限制条件,可以做预处理。
商科程序员 2010-09-08
  • 打赏
  • 举报
回复
那些日志什么的都是我加的.主要就是DatagramSocket在什么情况下发送数据时会抛错.
protected DatagramSocket socket = null;
public void sendMessage(Address targetAddress, byte[] message) throws java.io.IOException
{
InetSocketAddress targetSocketAddress = new InetSocketAddress(((UdpAddress) targetAddress).getInetAddress(),
((UdpAddress) targetAddress).getPort());
DatagramPacket packet = new DatagramPacket(message, message.length, targetSocketAddress);
socket.send(packet);
}
HimeTale 2010-09-07
  • 打赏
  • 举报
回复
1000w要借助硬盘了吧
a-z 26个文件夹里面再26个文件夹...估计2层够了,
用的时候先缓存几种常用的开头到内存里
不命中的话直接去硬盘上找.
zhouyanyiyi 2010-09-07
  • 打赏
  • 举报
回复
用字母顺序去查找呢
x642458 2010-09-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 namewchlp 的回复:]

自己写hash 后用计数排序。
[/Quote]
namewchlp 2010-09-07
  • 打赏
  • 举报
回复
自己写hash 后用计数排序。
showjim 2010-09-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 namewchwch 的回复:]
引用 3 楼 sbwwkmyd 的回复:
先统计,再排序


你这个太慢了
[/Quote]
在最大词频不高的情况下可以用桶排。

不知道楼主有什么好办法,请教。
namewchwch 2010-09-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sbwwkmyd 的回复:]
先统计,再排序
[/Quote]

你这个太慢了
showjim 2010-09-07
  • 打赏
  • 举报
回复
先统计,再排序
namewchwch 2010-09-07
  • 打赏
  • 举报
回复
并且要按 词频的大小排序输出 .....


并且要按 词频的大小排序输出 .....

并且要按 词频的大小排序输出 .....

并且要按 词频的大小排序输出 .....

并且要按 词频的大小排序输出 .....
showjim 2010-09-07
  • 打赏
  • 举报
回复
trie树或者hash

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧