摘要: 问题描述:一个大的英文文本,找到其中出现次数最高的10个单词思路:大文本文件肯定是一边读入一边统计,并且要去掉标点符号,以空白分离单词。要找高频词汇,肯定是要所有的单词都要遍历一次的,关键就是怎么遍历了。为了时间效率高一点,可以采用类似二叉排序树的方法,单词以字母为序,比如abc排在edf前面,也排在acd前面。每读入一个词就进行二叉树排序树的查找操作,找到了节点的统计字段加1,找不到插入。其次,还要维护大小为10数组存储当前出现次数最高的词和它们的出现次数,按降序排列。每在二叉排序树中成功查找到该次,更新该词的出现次数后,与前10数组进行比较,如果这个词已经出现前10数组那就直接更新对应的值 阅读全文
posted @ 2012-04-22 10:19 orchid 阅读(9267) 评论(0) 推荐(0) 编辑