寒假作业3

寒假作业3

github链接


git 学习

哇,学这个真的是痛苦,第二次寒假作业的时候就没搞明白,出现了各种各样的花式错误,如

Everything up-to-date
Branch 'master' set up to track remote branch 'master' from 'origin'.

解决方案:链接

或者是

解决方案:链接
一大堆痛苦经历就不一一列举了。。。

问了大佬们、助教、班主任老师,谢谢大家的耐心解答ヽ( ̄▽ ̄)ノ

后面就照着网上各种各样的教程一遍遍重新建库,最后终于搞懂了o(╥﹏╥)o
建库教程:链接


文件输入输出流 学习

一开始看网上的教程看得不知所云,然后大佬让看慕课,才发现自己选的慕课中有关于文件的课程。

看完慕课后理解了大致知识后,明白了还是复制粘贴吧╮(╯▽╰)╭

照着教程上一顿神奇的复制粘贴后,也终于整出来了。


编码规范、注释、git commit信息

大一上刚开始学习的时候,课上老师多次提起过编码的规范、注释,是一个程序员的良好习惯,大佬也经常会纠正我的不规范之处,虽然一开始还不能马上改过来,但自己每次都会注意规范问题。

注释方面也加大关注,因为不仅要自己以后重新看时能明了看懂,可能别人也会看自己的代码,有个良好的注释习惯也能减少很多麻烦。

而git是个好东西啊,commit信息也有很多细节之处和需要注意的事项,一个简洁明了的commit信息能为现在甚至以后的工作减少麻烦。


编码及debug

代码行数 bug数 总耗时
326 10+ 16h左右
这次代码就是以当初在做第二次寒假作业时的想法改进的

写了3种模型(包括公交车、出租车、上一次的模型的改良版),然后比较它们的总时间,选择3者中的最优者输出。

本来是有4个甚至5个模型,但发现还有些细节思想上的错误,导致程序在一些数据上会发生死循环,就一次次删掉重写了。

因为是3组比较时间后再去输出结果,所以采用数组存储时间和楼层,不确定有几条处理,所以这次修改了输出,只输出了哪个时间点要停在哪一层把乘客放下去,没有输出接乘客的处理。

代码很冗长,也很没技术含量,感觉自己的方法好蠢(;′⌒`)

debug的过程很难受,因为第一次接触这么长的代码,一出错,就看得头大,找半天才找出错误,还要去痛苦的改正。(感谢我们班导帮我纠正了很多很多错误*(๑• ₃ •๑))

该过程中有几个较大的纠错,如自己按请求时间从小到大排的排序代码有错,有时无法达到目的;还有公交车和出租车模型时一开始没有去排已经在等待的乘客的等待时间;亦如简单的添加了对可能犹豫先接两个或三个乘客中哪个的处理等等。。。

过程虽然痛苦,但测试数据的时候,发现比第二次寒假作业时写的代码更优化了,就会很开心,感觉自己没白写了,虽然可能还是离真正的最优解有不小的距离。

我的五组测试样例,前三组与第二次寒假作业提交的一样,前两个是两个特殊情况,第三个是为了比较这次所得到的优化,后两组是随机数,特殊情况与随机数结合来体现程序的可行性。

posted @ 2018-02-22 16:29  许煌标  阅读(159)  评论(2编辑  收藏  举报