前几天看了麻省理工的一套开放课程,《计算机科学与编程导论》,全套24讲,以python为工具,讲解了编程的一些基本思想和方法,讲的比较浅,适合没有任何基础的人(python对于没有编程语言基础的人来说是个很好的工具)。后边几讲还没有看,但从前边大概20课来看,真的很不错,认真看一看,就算对你的设计算法的能力没有多大提高(课程中讲得背包问题,搜索问题和哈希问题还是有启发的),至少对英语水平肯定有帮助,而且同时还可以对python起到一个入门的作用。
例如这个斐波那契级数的递归版实现,就是利用了python中的字典数据结构充当缓存,提高效率(当然斐波那契要用迭代,这里只是个例子)
#a fast version fib def fastfib(memory,n): if not n in memory: memory[n] = fastfib(memory,n-1)+fastfib(memory,n-2) return memory[n] def fib(n): memory={0:1,1:1} return fastfib(memory,n)
» 订阅本站:skyleft


空间温度0℃