博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
陈伯雄第一次作业小结
阅读量:5251 次
发布时间:2019-06-14

本文共 562 字,大约阅读时间需要 1 分钟。

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

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

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

你可能感兴趣的文章
go 学习笔记(4) ---项目结构
查看>>
java中静态代码块的用法 static用法详解
查看>>
Java线程面试题
查看>>
Paper Reading: Relation Networks for Object Detection
查看>>
day22 01 初识面向对象----简单的人狗大战小游戏
查看>>
mybatis源代码分析:深入了解mybatis延迟加载机制
查看>>
Flask三剑客
查看>>
Hibernate-缓存
查看>>
【BZOJ4516】生成魔咒(后缀自动机)
查看>>
提高PHP性能的10条建议
查看>>
svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决方法...
查看>>
熟用TableView
查看>>
Java大数——a^b + b^a
查看>>
poj 3164 最小树形图(朱刘算法)
查看>>
服务器内存泄露 , 重启后恢复问题解决方案
查看>>
android一些细节问题
查看>>
KDESVN中commit时出现containing working copy admin area is missing错误提示
查看>>
利用AOP写2PC框架(二)
查看>>
【动态规划】skiing
查看>>
java定时器的使用(Timer)
查看>>