中兴捧月杯初赛题目--求网络中两点之间的路径--总结篇

中心捧月杯的程序设计部分就这样结束了,在截止时间前我没有提交作品,在此做个总结警醒自己。

一,心理认知

1,尽管我是心理上认真对待了,这次比赛,但是行动上放松了。但我在初赛中选定一个定目后,感觉根据自己的编程能力3天内基本就可以搞定了,所以前期没有做。

2,在截止日期前的三天我全力以赴,果真很见成效,但是毕竟要调试,不懂得地方要去检索,时间很快就过去了

3,大数据和性能优化的问题自己没有关注过,所以遇到类似崩溃问题感觉很是棘手

4,总体而言,眼高手低了,还是那句话“是骡子是马,还真得溜溜”

小结:

1,给自己足够的时间,也就是要给出足够应对以外情况的时间

2,不要把事情放到邻近截止日期,非常恶劣的潜意识,制定出一个早期完成的计划,保持一个完整的步调

3,大数据和性能优化问题是自己一个非常薄弱的地方,要后期加强,基本的算法也是

4,多参加这种比赛是好的,可以发现自己的不足

二,技术分析篇

1,在读取文件和形成邻接矩阵的过程中,我开了几个大数组,我明知道平时编程开100以上的大数组已经是非常愚蠢的做法,但是考虑到题目只要时间限制,而没有内存消耗限制,所以想以空间换时间,违背编程规则地开了大数组。

2,没有及时对用完的数据进行内存清理,导致后期栈溢出问题

3,加大了堆栈的分配和预留空间,但是只是一定程度上解决了问题,而且本身是一愚蠢的做法

4,将所有的路径找出后,再做过滤不是是否明智做法,我的考虑是后期要找备用路径

小结:

1,可以将数组改为VECTOR容器,节省存储空间,并及时释放不用内存

2,可以在寻路的过程中,就实现查找最短路径和备用路径

3,遇到解决一个问题可以有不同的方法时,要根据题目要求慎重选择

4,限时编程过程中遇到意外时保持头脑冷静:

具体问题:增加堆栈的分配和预留空间后发现,对于大小数据程序都无法启动问题时,解决方法是恢复,项目属性-》连接器-》系统,然后恢复到默认设置,然后再清除所有的DEBUG,之后重新调试程序就可以解决了。

         

你可能感兴趣的:(性能优化-代码重构,数据结构-编程算法-技术思想)