活跃农民
- 积分
- 851
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2014-6-26
- 最后登录
- 1970-1-1
|
终于做完了。感觉week4的工程量很大。课程+编程首先是对优先级队列有了认识啊,真的好牛逼,然后老师是用堆排序来实现的。我被其中那个模拟分子运动的程序震撼了。看也看懂了,其实和8puzzle差不多的思想,把所有的情况都塞进PQ,优先级由碰撞时间长短决定,就和8puzzle中优先级由priority = distance + moves 决定。叫做什么启发式算法。这个东西真的很深奥,我基本不懂。只是有一种感觉,就是虽然是遍历所有的情况,但会让计算机首先模拟那些更加有可能成功的情况。
然后就是对二叉搜索树有了理解。。。套话。只不过以前真的不懂啊。感觉BST比堆排序更牛逼啊。
然后就开始写作业了。这次作业是写的荡气回肠。昨晚先开始写的。然后发现看不懂题目。网上千辛万苦得找到了代码。但是最后决定不看,自己编。因为觉得这个问题很有趣。
从上午11点一直写到了5点。终于把代码写好了。而且自己测试没有问题。但上交的时候才知道自己犯了一个错误。我把优先级计算这些操作都写在了 Board 类里面,导致有些成员我在 Solvable类里面无法调用。
比如 private int priority..... 当时绝望了,不想重写啊。于是把网上的那份代码拿来看。采用了他的一个思想,在Solvable类里面,用一个更大的类来包裹 Board类,并且包含了 priority, previous, moves,这样我就不需要完全重写了。
然后我把Board类里面的有关优先级的东西全部删去,把相邻的点对应的board全部塞进队列而不是MinPQ,因为我在Solvable类里面还会对优先级进行操作,此处不需要多此一举,会影响时间和空间效率。
现在终于完成啦。最开心的时候是代码刚刚写完的时候,然后不停地修改,debug,到现在最终成篇,倒是没多少兴奋的感觉了。
但是我能感觉到自己对于面向对象的理解正在逐步加深。
申请目前并不是很理想,只拿到了两所保底大学的AD。周围的同学都拿到了更好的,而我的,还遥遥无期。
英国这一年我发现自己真的对计算机,软件编程比较感兴趣。原因是自己是一个急性格,有什么想法就想直接尝试,直接调试。前段时间搞单片机。你没有杜邦线不行,你没有对应的接口和通信协议不行,你还得有个示波器或者万能表才能勉强的调试,导师还花了220磅帮我买了一个水压传感器。。。。真的好麻烦。不想软件编程,我只需要一台电脑,大多数我能做到的事情,我立刻就能做到。而且调试环境真的良心。
所以希望,研究生可以在一所计算机强校念,不想着以后的工作问题,只想真正的学习计算机,不用再像现在这样是不是分心了。
加油。
|
|