薄弱的算法基础

这几日复习累时,翻出来 MIT 的《算法导论》课程录像来看,发现一个非常沮丧的事实:我对算法知道的真少。

仅仅看了 3 节课,就听到了几个我不懂的东西。比如计算递归算法复杂度的 master method,计算 Fibonacci 数列的复杂度为 θ(lg(n)) 的算法,计算矩阵相乘的复杂度为 θ(nlog2(7)) 的 Strassen 算法。这些东西我以前都没听说过,真是孤陋寡闻啊!

那本《算法导论》大概在我的书架上已经摆了两年了,两年我仅仅看了六七十页。我太懒是最主要的原因,但还有一个原因是从头开始看激发不了兴趣,前面讲的一些算法都是数据结构书上看过的东西,不是很有吸引力,看着看着就觉得索然无味,扔一边了。

不过我也从来没自诩过算法好,逛 BBS 时我主要在电脑技术版转,在其它的版都敢指手画脚一番,唯有在算法版老老实实潜水。计算机科学就是这样,知识层次不如别人,那就根本插不上话。这也是我极少在 pongba 兄的 TopLanguage 讨论组发言的一个原因,因为里面我感兴趣的话题主要是算法相关,而算法问题我又插不上嘴,只好默默潜水。

我的算法知识,大概仅限于我现在都不知道扔哪儿的一本《数据结构》书了。不是科班出身,也没正儿八经听过算法课,所以现在就有系统地学习算法知识的打算了,把存在电脑里好久的算法导论视频翻了出来。Charles Leiserson 讲的很不错,单就趣味性来说,《算法导论》的课程录像可比书要有意思多了。我想在最近的这段时间里,我应该至少能把录像看完。

另外,我在博客分类里添加了 Algorithm 一项,我将看看,在过一段日子后,我对算法的使用和理解能力能否有一些提高。

《薄弱的算法基础》上有5条评论

  1. 最近也在看算法导论视频,2005年版的。
    视频很不错,不过刚刚看到红黑树那里,比较难,好些天没进展了。
    Fibonacci 数列是有O(1)算法复杂度的解法的,就是直接带公式。
    矩阵相乘的θ(nlog2(7))算法活活没看懂。

  2. MIT……刚看完《在MIT上学》,感觉那是个挺可怕的地方

  3. 文博加油。。。等着算法类的类目下出现技术文章。。。

  4. hi, 很幸运能看到你的博客,感到这里非常亲切。
    为看linux0.11的代码找资料,发现了《自己动手写操作系统》,被链到这里。
    我也很想把《算法导论》好好看一遍,几次都失败了,希望能和你 algorithm blog同行,呵呵!

回复 蔡白银 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注