ASE个人项目总结 By Guiying Li
第一个ASE工程做完了,是一个词频统计软件,对给定目录下所有英文txt统计出出现次数最多的100个单词。
算法上是一个类似快排的算法,首先统计每个词的词频,将(词,词频数)对存放到容器中,每次随机取出一个单词,向原容器分割成词频数大于、等于、小于所取单词的三个集合,并用递归的思路从中产生前100个单词。
语言上采用第一次使用的C#,不得不说C#的功能真多,很方便地提供递了归搜索目录的功能;
优化速度上主要有三点:
第一,一次想将一个文件读入一个string中缓存,用单词在string中得索引来定位一个单词,并在适当的时候通过索引来从string中取出单词,这个定位匹配单词的方法在速度上比C#提供的现成方法快得多;
第二,一个字符一个字符的匹配,这比用高级手法(如正则匹配)快的多;
第三,讲三算法上的递归用while循环来实现,极大的减轻了内村负担;
这个项目可以说是个练手程序,熟悉了一下C#的方便快捷。