java共性问题.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2010-06-23 缩略显示 转:递归解整数分划问题 文章分类:Java编程 1. 递归算法解题步骤 (1) 分析问题、寻找递归关系。找出大规模问题和小规模问题的关系。 (2) 找出停止条件,控制递归。 (3) 设计函数、确定参数。 2. 问题描述: ?? 整数的分划问题。 ?? 如,对于正整数n=6,可以分划为: ?? 6 ?? 5+1 ?? 4+2, 4+1+1 ?? 3+3, 3+2+1, 3+1+1+1 ?? 2+2+2, 2+2+1+1, 2+1+1+1+1 ?? 1+1+1+1+1+1+1 ?? 现在的问题是,对于给定的正整数n,编写算法计算出其分划得数目。 3. 问题分析和递归关系建立 ?? 从上面n=6的实际例子可以看出,很难找到大规模问题P(n)和小规模问题P(n-d)(d=1或2或3...)的关系。 根据n=6的实例发现第一行及以后的数据不超过6,第二行及以后的数据不超过5...,第六行的数据不超过1。 ?? 因此,定义一个函数Q(n,m),表示整数n的任何加数都不超过m的分划得数目,n的所有分划数目P(n)就应该 表示为Q(n,n). ?? 一般地,Q(n,m)有以下递归关系: ?? (1) Q(n,n) = 1+Q(n,n-1); ?? (2) Q(n,m) = Q(n,m-1) + Q(n-m,m) (mn) ?????? Q(n,m-1)表示被加数中不包含m的分划数目; ??????? Q(n-m,m) 表式被加数中包含m的分划数目。 4. java实现: /** * @version v1.0 * */ public class IntegerDivision { /** * @param args */ public static void main(String[] args) { IntegerDivision id = new IntegerDivision(6); int count = id.divInteger(id.getN(), id.getN()); System.out.println(count); } private int n; public IntegerDivision(int _n) { n = _n; } /** * 递归求解 * * @param n * @param m * @return */ public int divInteger(int n, int m) { if (n 1 || m 1) { System.out.println(输出参数错误!); } else if (n == 1 || m == 1) { return 1; } else if (n m) { return divInteger(n, n); } else if (n == m) { return divInteger(n, n - 1) + 1; } else { return divInteger(n, m - 1) + divInteger(n - m, m); } return 0; } public int getN() { return n; } public void setN(int n) { this.n = n; } } 运行: 11 ? 11:36 浏览 (18) 评论 (0) 分类: JAVA_J2EE 2010-02-24 缩略显示 [转] Struts1和Struts2的区别和对比 文章分类:Java编程 Struts1和Struts2的区别和对比: Action 类: ? Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。 ? Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去 实现 常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。 线程模式: ? Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。 ? Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servl

文档评论(0)

80092355km + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档