最近在做一个数据结构课程设计,希望大家给点帮助,欢迎讨论。
雪域迷影 2010-07-05 05:16:27
一下是我选择的数据结构课程设计:
老友记(friends)中使用频率最高的单词(堆排序、hash表)
电视剧《六人行》(Friends),又名《老友记》,是美国NBC电视台从1994年开播、连续播出了10年的一部幽默情景喜剧,也是美国历史上甚至是全球范围最成功、影响力最大的电视剧之一。《老友记》也是中国学生学习英语口语很好的题材。现在有一个疑问:《老友记》的一共十季的台词中哪一些单词使用频率最高呢?
输入:台词文件friends.txt(在Project7文件夹中)
输出:在此文件中找出出现次数最高的100个单词,并按照频率由高到低的顺序输出。格式如下:打印完一个单词之后空一格再打印该单词的频率。
例如:
I 23834
The 23139
To 17824
You 17583
…
提示:首先要对文件中的句子进行分词(把句子划分为若干个单词),存储到适当的数据结构中,(划分单词可以用空格作为依据)。 再统计每一个单词出现的频率,最后按照频率由大到小的顺序排序,并取前100个输出。
注意:在统计的时候有可能出现重复的单词,因为我们以空格作为划分单词的依据,所以两个单词the和The被认为是两个不同的单词,还有单词后边紧跟着标点符号也会影响单词的统计(No,和No.被认为是不同的单词,分别统计),这显然不是我们希望看到的结果。请想办法解决这个问题。
请教大家如何用某种数据结构保存大型文件中的数据并用堆排序、哈希表找出文件中使用频率最高的单词呢?