15.1 递归思想

编程范式:

  1. 在所有的编程范式中,面向对象编程(Object-Oriented Programming)无疑是最大的赢家。

  2. 但其实面向对象编程并不是一种严格意义上的编程范式,严格意义上的编程范式分为:

    • 命令式编程(Imperative Programming)
    • 函数式编程(Functional Programming)
    • 逻辑式编程(Logic Programming)

    面向对象编程只是上述几种范式的一个交叉产物,更多的还是继承了命令式编程的基 因。

  3. 在传统的语言设计中,只有命令式编程得到了强调,那就是程序员要告诉计算机应该怎么做。

  4. 递归则通过灵巧的函数定义,告诉计算机做什么。因此在使用命令式编程思维的程序中,是现在多数程序采用的编程方式,递归出镜的几率很少,而在函数式编程中,大家可以随处见到递归的方式。

  5. 使用解决子问题的方案解决一个问题,也就是递归,这种想法十分诱人。许多算法和 问题本质上都是递归的。一旦我们找到窍门,使用递归来设计解决方案就变得极富表现力且直观。

不建议使用循环

scala 中循环不建议使用 whiledo...while,而建议使用递归。

Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2019-01-10 15:54:53

results matching ""

    No results matching ""