西格玛奥德里奇待遇:用C语言实现英文单词词频统计

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 21:21:02
我最近做一个英文单词词频统计的C程序.数据结构是用键树(Digital Tree),树的结点是用结构体实现的
struct node {
char i;
struct node *parent ,*brother,*child;
int m;}
树结点只存放一个字符,将各结点串起来就是一个单词了.但是当待分析文章的字符数达到一定数目时,就不能再分配内存来生成结点了.请问该怎样才能突破字符限制?另外C是不是只能用到64KB的内存啊?
可不可以统计完一部分文章后就删除以前的结点,同时将结果暂存,然后再重复以前的统计

你这样存单词也太浪费空间了,你可以把一个单词放到一个变量里。可以这样解决:用一个变量(word)记单词,另一个变量(ch)去接收文章的每个字符,当if(ch>='a'&&ch<='z') &&(ch>='A'&&ch<='Z')word+=ch; else { ch=nextchar();并且这时变量word中就是一个完整的单词了,你是怎么存储你就随意了.};
你在存储是可以记数,当有一定的数量是你可以删除什么的都可以.也可以放到文件里.