序言

  算法作为程序的灵魂,其作用不可言喻,每一个优秀的程序员都需要掌握一些基本的算法和数据结构。而我也将在这里以刷题的方式学习和总结,目的在于加强自我的代码修养。我会用Java和Dart两种语言来实现相关算法题,并将相对权威的解答贴在最后。

  算法在计算机科学出现之前就已经存在,而计算机科学的发展需要更多的算法,算法是计算的核心。在开始算法学习之前,我们最好掌握下面几点知识,以便更好的完成后面的学习。

  1. 至少掌握一门编程语言(用于编码实现算法,这里主要用Java和Dart)
  2. 一定的数学基础
    • 代数(必备:指数、对数㏒、级数∑、函数、不等式、证明方法等)
    • 几何(图形算法,便于理解)
    • 概率论和数理统计(拔高)
    • 高等数学(拔高)
    • 离散数学(拔高)
  3. 掌握常用的数据结构
    • 数组
    • 队列
    • 链表
    • 散列表
  4. 算法复杂度
最后更新时间: 10/15/2019, 4:29:26 PM