- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汉诺塔问题的与跳蚤问题
两个例子 学习目标 java中垃圾回收机制 递归定义 枚举 汉诺塔问题 跳蚤问题 复习提问 java中的访问修饰符共有哪几种访问权限,分别是什么? * 高级访问控制总结 访问控制 private成员 缺省的成员 protected成员 public成员 同一类中成员 ? ? ? ? 同一包中其他类 × ? ? ? 不同包中子类 × × ? ? 不同包中非子类 × × × ? java的垃圾回收机制 垃圾回收作为一种内存管理技术已经存在了很长时间,但是java使它焕发出崭新的活力。在C++等语言中,内存必须人工管理,程序员必须显示地释放不再使用的对象。这是问题产生的根源,因为忘记释放不再使用的资源,或者释放了正在使用的资源都是很常见的事情。Java代替程序员完成了这些工作,从而防止了此类问题的发生。在java中,所有的对象都是通过引用访问的,这样,当垃圾回收器发现一个没有引用的对象时,就知道此对象已经不被使用,并且可以回收了。 * Java的垃圾回收具有以下特点: 只有当对象不再被程序中的任何引用变量引用时,它的内存才可能被回收。 程序无法迫使垃圾回收器立即执行垃圾回收操作。 当垃圾回收器将要回收无用对象的内存时,先调用该对象的finalize()方法,该方法用来释放对象所占的相关资源,但也有可能是对象复活,不再回收该对象的内存。 即使显式调用垃圾收集 (System.gc( )) 方法,它也不能保证立即运行。 垃圾收集线程的运行优先级很低所以可能经常会被中断 * java的垃圾回收机制 * 方法递归 所谓递归(recursion)在数学上就是利用自身结构来描述自己。例如: 自然数:1是一个自然数;一个自然数的后继者是一个自然数。 阶乘运算:0!=1;如果n0,那么n!=n*(n-1)!。 斐波纳契数列:f(0)=1,f(1)=1; f(n)=f(n-1)+f(n-2) 而在java语言程序设计中,在一个方法内部直接或间接地调用到自身,我们称之为递归。编写递归方法必须要满足以下三个条件: 知道递归公式的描述。 必须要有递归终止条件。 每次递归调用必须使得其进程逐步接近递归的终止条件。 枚举 枚举类型(enum type)是指由一组固定的常量组成合法的类型 用法 通常只在其中定义常量 有时可重写父类方法实现一些个性化功能 高级的用法可定义私有变量,添加私有的构造方法 例子: enum Color { RED, BLUE,YELLOW; } public void showColor(Color color){ switch (color){ case RED: System.out.println(it is red); break; case BLUE: System.out.println(it is blue); break; default: System.out.println(it is a default case for White); } } public static void main(String[] args) { Color color = Color.RED; color.showColor(color); } * 【程序建模示例1】Hanoi塔问题的递归解法 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有 一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。 程序建模 汉诺塔问题的关键 hanoi(int n,char a,char b,char c) 解释:把a柱上的n个盘子以b柱为临时柱移到c柱上。 关键思路 总问题:把A柱上n个盘子以B柱为临时柱移到C柱上。 问题分解: 把A柱上前n-1个盘子以C柱为临时柱移到B柱上 把A柱上最底下一个盘子移到C柱上 把B柱上n-1个盘子以A柱为临时移到C柱上 分解示例 假设要将7个金片从A移到C,B为中转, 则: 首先将
您可能关注的文档
- 气体灭火系统的安装、调试、检测与的验收.doc
- 民诉表格理解记忆版(可编的辑版).doc
- 民航机场标志与的标志物.ppt
- 气体的管道测试方案.docx
- 气动薄膜调节阀安装的及检维修.ppt
- 气弹簧质的量检测.pdf
- 气管切开早期并发症的预防的与护理.ppt
- 氧传感的器-LSH.pdf
- 残疾人的事业发展的形势与政策.ppt
- 氨泄的露事故安全经验分享.pptx
- 《我眼中的美》(课件)-2024-2025学年沪书画版五四学制(2024)美术六年级上册.pptx
- 影响小学生学习动机的因素分析教学研究课题报告.docx
- 艺术与创造力的课堂融合教学研究课题报告.docx
- 文化认同在外语学习中的重要性分析教学研究课题报告.docx
- 英文科普读物在英语学习中的应用教学研究课题报告.docx
- 小学美术教育对学生审美素养的培养教学研究课题报告.docx
- 小学生社会责任感培养的重要实践教学研究课题报告.docx
- 生态教育让学生关注自然环境教学研究课题报告.docx
- 通过故事教学提高语文兴趣教学研究课题报告.docx
- 节日文化教育渗透在教学中的重要性教学研究课题报告.docx
文档评论(0)