第一次作业小结_陈伯雄

  这次作业主要问题出现在数据结构没有考虑周全,由于以前作业都是有限少量数据测试,一开始的时候使用了定长的数组来存储数据,当读取文件的数据大小超过1MB时程序就崩溃了,后来修改用list进行存储,但是使用测试144MB的数据程序跑的时间过长,19分钟。最后的版本使用了sortdictionary来存储数据,list来进行字典序排序,程序运行所欲要的时间大大缩小了,不到1分钟就跑完了144MB的数据。同时因为作业要求改动而对原程序修改工作量较大,从中看出为我的程序结构化还不够好,函数方法之间功能模块之间功能有很多重叠,导致要求更改后许多功能模块都得重写,显得很蛋疼。

从图中看出,主函数中存储部份比重最大,其中count函数(统计单词和单词数量)占其中97.1%,而统计时调用isrepeat函数(判断是否重复)占其中86.2%,调用sortdictionary的ContainsKey花费了其中一半时间。可以看出这个程序主要花费在存储方面的时间最长,节省存储时间就能显著提高效率,使用更优的存储结构最为明显。使用了sortdictionary的效率确实比只使用list的效率高!

转载于:https://www.cnblogs.com/DOOM-cbx/archive/2012/10/01/2709990.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值