杭州萧山区Java培训怎么收费

    2020-11-14发布, 次浏览 收藏 置顶 举报
  • 授课时间:

    现场安排开课时间

  • 授课对象:

    想学Java的学员

  • 网报价格:电询    课程原价:电询
  • 咨询热线:400-998-6158
  • 授课地址:有多个校区 电询加微信
  • 课程详情

  • 机构简介
  • 地图信息
  • 预约试听
杭州程序设计培训

杭州萧山区Java培训怎么收费

Java是个时髦语言。它吸收了计算机科学领域的各种‌‌较新成果,作为一个分布式的,面向对象的程序设计语言,可以让位于任何地方的任何计算机应用网络上的应用程序。


初识Java
Java入门,Java基础,Java使用技巧

面向对象编程
Java面向对象编程理论与应用,集合框架与数据结构, Java文件操作与网络编程

数据库理论与应用
数据存储的概念及理论,数据库技术及产品的发展史, 当下流行数据库MySQL和Oracle数据库的使用
互联网网站及信息系统的开发与应用
网站页面及效果设计,交互式网站开发技术及开发流 程,网站开发框架及简单企业开发应用
企业团队项目协同开发与维护
协同开发概述,协同开发技术原理与应用
商业项目模块化基础与应用
软件项目自动化构建概述,自动化构建原理,自动化构建技术与应用
软件项目测试与实施
软件测试概述,软件测试流程及测试工具使用,测试档案及测试用例编写,测试报告分析
企业主流开发框架应用与优化

框架技术概述,框架技术发展史,主流框架介绍, 主流框架的使用,整合多个框架综合开发项目

递归VS迭代

对程序员来说,递归应该是一个与生俱来的思想(a built-in thought),可以通过一个简单的例子来说明。

问题:有n步台阶,一次只能上1步或2步,共有多少种走法。

步骤1:找到走完前n步台阶和前n-1步台阶之间的关系。

为了走完n步台阶,只有两种方法:从n-1步台阶爬1步走到或从n-2步台阶处爬2步走到。如果f(n)是爬到第n步台阶的方法数,那么f(n) = f(n-1) + f(n-2)。

步骤2:确保开始条件是正确的。

f(0) = 0;

f(1) = 1;

public static int f(int n){

if(n <= 2) return n;

int x = f(n-1) + f(n-2);

return x;

}

递归方法的时间复杂度是n的指数级,因为有很多冗余的计算,如下:

f(5)

f(4) + f(3)

f(3) + f(2) + f(2) + f(1)

f(2) + f(1) + f(1) + f(0) + f(1) + f(0) + f(1)

f(1) + f(0) + f(1) + f(1) + f(0) + f(1) + f(0) + f(1)

直接的想法是将递归转换为迭代:

public static int f(int n) {

if (n <= 2){

return n;

}

int first = 1, second = 2;

int third = 0;

for (int i = 3; i <= n; i++) {

third = first + second;

first = second;

second = third;

}

return third;

}

对这个例子而言,迭代花费的时间更少,你可能也想看看Recursion vs Iteration。


更多培训课程,学习资讯,课程优惠等学校信息,请进入 杭州滨江区IT培训杭州萧山区php培训杭州java培训 网站详细了解,免费咨询电话:400-998-6158

预约试听
  • 姓名: *
  • 性别:
  • 手机号码: *
  • QQ:
  • 微信:
  • 其它说明:
  • 验证码: *  看不清,请点击刷新
相关课程