留了两节简单的课一起来写。
首先是combination+debug。后者没什么好说的……就是一个单纯对拍程序。前者,说一个老师提到的有意思的问题吧。在设密码的时候,我们往往对字母数字甚至大小写有要求,说是提高安全性。可是从排列组合的角度来说,越多的限制就意味着越小的基本空间(所有排列可能),暴力破解需要的时间可能就越短,是不是矛盾了呢?答案是,设密码用的有意义的字母和数字容易破解,所以那些要求是来打乱有意义的。(反正我是记密码无能:)
第二节课是sum+higer-order-functions。求和公式,高中必备。不过sum(1/i)=log(n)+small const [i from 1 to n] 第一次见。 higher-order-function就是把另一个function作为自己的参数,和c++里调用方法基本一致,只是被调用function可以在一个主程序里同时是function-a,function-b,function-c........,取决于每次填的调用名。没想到c++有无对应的功能。这节课的mini-project是找最佳策略类型的,我用的思路是回报/付出的回报率考虑(因为比较简单= =),其实可以应用到简单的股市回报率,不过还要simulate之前数据估计回报。
以及,发现python built-in的东西特别多,比如 math.ceil, sorted, float('-inf').
基本这个课就此告一段落了,学的东西有点太简单所以这门课拿完证书就不继续学下去specialization了。还算是达到了原定目标:熟悉了python的语法,某些基础功能,语言习惯被纠正的很彻底,写comment写的很开心,读instruction读的越来越快……
-----------------------------------------------------------------接下来计划的分界线-------------------------------------------------------------------------
要把algorithm完完整整地跟完,然后两个specialization跟完(GUI设计和android+cloud程序设计),大概都要耗时半年左右。期间会一直来写学习笔记的。2015的下半年,加油~