MTI 算法导论

知识储备
  • 计算机程序结构与解释
  • 离散数学
  • 概率论
  • 了解并熟悉一门编程语言
通常性能的好与坏,直接决定着可行还是不可行。例如,对于实时的需求。算法总是处于解决问题的最前沿,如果你讨论的只是重新实现十年前人们就做过的东西。那某种意义上,性能就不在重要。但是如果你正在积极尝试其他人没有成功的事情,之所以别人没有成功,因为太消耗时间,不具备可扩展的空间,这是第一层原因,算法能够将不可行变成可行。
第二层原因,算法是一种描述程序行为的语言,它业已形成了一种语言,一种已经广泛应用于计算机科学领域,已经被所有的实践者所采用的理论语言,它是一种让程序最为简洁的思考方式。
有一个很好的比喻来形容性能以及为何性能处于最底层,它所扮演的角色就如同经济中的货币一般,想想一沓钞票有什么好的?我们更需要有食物,水,房子等等。我们需要用钞票才能买下这些商品,尽管水对于我们的生命比钞票重要。同样,性能是确保良好的用户体验的前提,也是安全的保障。为什么你需要性能,因为你需要性能作为支付其他东西的货币。在某种意义上,这就是为什么性能是处于最底层的原因。因为它是衡量的一般性标准,你愿意消耗两倍的性能在用户体验还是消耗三倍的性能在安全上呢,之类等等。另外,其他资源方面同样适用。例如通信,内存等等。
学习算法性能最后一个原因是,这里充满了乐趣。速度永远让人渴望,对吧。

你可能感兴趣的:(大学开放课程)