第一次作业小结_陈伯雄
2012-10-01 23:10
134 查看
这次作业主要问题出现在数据结构没有考虑周全,由于以前作业都是有限少量数据测试,一开始的时候使用了定长的数组来存储数据,当读取文件的数据大小超过1MB时程序就崩溃了,后来修改用list进行存储,但是使用测试144MB的数据程序跑的时间过长,19分钟。最后的版本使用了sortdictionary来存储数据,list来进行字典序排序,程序运行所欲要的时间大大缩小了,不到1分钟就跑完了144MB的数据。同时因为作业要求改动而对原程序修改工作量较大,从中看出为我的程序结构化还不够好,函数方法之间功能模块之间功能有很多重叠,导致要求更改后许多功能模块都得重写,显得很蛋疼。
从图中看出,主函数中存储部份比重最大,其中count函数(统计单词和单词数量)占其中97.1%,而统计时调用isrepeat函数(判断是否重复)占其中86.2%,调用sortdictionary的ContainsKey花费了其中一半时间。可以看出这个程序主要花费在存储方面的时间最长,节省存储时间就能显著提高效率,使用更优的存储结构最为明显。使用了sortdictionary的效率确实比只使用list的效率高!
从图中看出,主函数中存储部份比重最大,其中count函数(统计单词和单词数量)占其中97.1%,而统计时调用isrepeat函数(判断是否重复)占其中86.2%,调用sortdictionary的ContainsKey花费了其中一半时间。可以看出这个程序主要花费在存储方面的时间最长,节省存储时间就能显著提高效率,使用更优的存储结构最为明显。使用了sortdictionary的效率确实比只使用list的效率高!
相关文章推荐
- 陈伯雄第一次作业小结
- 第一次作业小结
- 第一次作业小结
- 第一次作业小结
- 高级软件工程课程第一次作业的小结
- 【Fantasy】第一次作业小结
- 我对第一次数据结构作业的理解
- 软件工程——第一次作业
- 2017软件工程第一次作业
- 第一次课堂作业
- 补交:最最原始的第一次作业(当时没有选上课,所以不知道)
- 软件工程第一次作业
- 读软件工程这本书的感悟(第一次作业)
- 一、RFID理论基础知识要点(第一次作业)
- 高质量嵌入式Linux C编程第一次博客作业
- 物联网工程RFID第一次作业(第三周)
- 【Mage作业】linux运维实战练习案例-2015年12月20日-12月31日(第一次)
- java第一次作业(5)
- 第一次作业:读博文有感
- 第一次作业:阅读优秀博文谈感想