java算法:实验和实现分析

java算法:实验和实现分析

在设计和开发算法时,通过对对象操作分层来帮助理解所解决的计算问题的本质。要脚踏实地用一种实际的编程语言java来表达所有的算法。java语言简洁、准确的实现了大量重要且有效的算法。

为了理解算法的性能,最初的步骤就是进行试验分析。给定两个算法,评估优劣性,所采用最简单的方法:运行这两个算法,看哪个运行的时间短。在算法研究中,运行时间可能会被忽略。但是,一个算法运行花费时间的是另一个算法运行花费时间的十倍,这个事实不可能被人忽略,除非,时间小到极致。一个程序可能要运行很久,这就需要数学分析了,数学分析是一个很好的工具,如果数学分析结果发现,这个算法需要运行几年,甚至几个世纪,显然,这个算法太没有效率了,而这,就证实了数学分析的正确性。

在实验分析时,首要条件就是要有一个正确、完整算法的实现,否则就不能进行实验分析了。而这个过程显然是复杂、困难的,要花费相当大的时间代价。

在实验分析时,再者就是确定输入数据的准确性以及对实验有影响的其他因素。对于数据的输入:使用实际数据、随机数据、非法数据。

比较算法性能的时候,需要在同等的情况下,进行分析,要保证运行、测试的环境的一致性。如,相同的机器,编译器或系统,数据等。对于每个算法的实现需要给予足够的重视。

最后的方式就是,在基础算法上修改,再进行比较,这样研究的合法性才能得到保障。
在处理问题的时候,很多人更愿意选择简单的算法而忽略了算法的性能。复杂的算法由于更需要花费时间、仔细的思考而被放弃,但是它带来的性能效率是非常大的。

实验分析带来的好处也是巨大的,更能直观地分析算法的性能、有效性以及价值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验1 Java语言基础 4 一、实验目的 4 二、实验要求 4 三、实验内容 4 (一) 声明不同数据类型的变量 4 (二) 了解变量的使用范围 5 (三) 使用关系运算符和逻辑运算符 5 (四) 使用表达式语句与复合语句 6 (五) 使用选择语句 6 (六) 使用循环语句 8 实验2 面向对象编程 11 一、实验目的 11 二、实验要求 11 三、实验内容 11 (一)创建 Applet 应用小程序 11 (二)创建对象并使用对象 12 (三)编显示当前日期和时间的程序 13 (四)使用修饰符 14 (五)方法中参数传递 15 (六)类的继承性 16 (七)类的多态性 18 实验3 包、接口与异常处理 22 一、实验目的 22 二、实验要求 22 三、实验内容 22 (一)了解并使用 Java 的系统包 22 (二)创建并使用自定义包 22 (三)使用接口技术 24 (四)了解异常处理机制 25 实验4 常用系统类的使用 27 一、实验目的 27 二、实验要求 27 三、实验内容 27 (一)了解 Applet 的生命周期 27 (二)使用数学函数类 28 (三)使用日期类 29 实验5 建立图形用户界面 32 一、实验目的 32 二、实验要求 32 三、实验内容 32 (一)创建图形用户界面 32 (二)了解事件处理机制 34 (三)建立独立运行的窗口界面并使用匿名类 36 (四)使用 Swing 组件 39 (五)使用自定义对话框与内部类 41 实验6 图形处理 44 一、实验目的 44 二、实验要求 44 三、实验内容 44 (一)使用图形类 Graphics 44 实验7图形处理(二) 47 一、实验目的 47 二、实验要求 47 三、实验内容 47 (一)幻灯机效果——连续显示多幅图像 47 (二)使用滚动条改变背景颜色 48 (三)Applet 与 Application 合并运行 49 (四)创建电闪雷鸣的动画 50 实验8 流与文件 53 一、实验目的 53 二、实验要求 53 三、实验内容 53 (一)使用标准数据流的应用程序 53 (二)使用文件输入输出流的应用程序 54 (三)使用随机文件类的应用程序 54 (四)使用数据输入输出流与文件输入输出流类的应用程序 55 (五)使用对象输入输出流的应用程序 56 实验9 线程 58 一、实验目的 58 二、实验要求 58 三、实验内容 58 (一)Thread子类的方法实现多线程 58 (二)实现Runnable接口的方法实现多线程 59 实验10 数据库的连接:JDBC 61 一、实验目的 61 二、实验要求 61 三、实验内容 61 (一)配置ODBC数据源 61 (二)编程序,按照下表的结构建立"student"表 61 (三)编程序,完成填功能 62 (四)编程序,完成查询功能 62
实现以下功能,所有功能以图形用户界面完成。 <1> 新建课程考试成绩单,功能描述如下: n 程序界面显示已经开设的课程(从course.txt中读取),用户选择本次输入的课程。 n 程序界面通过文件对话框要求用户选择为哪个班输入成绩(即选择相应班的名单文件)。如果该班的成绩已经输入(已经存在对应成绩单文件),则提示无需输入。 n 程序提供界面为该班的每个学生输入考试成绩。 n 输入的成绩单以对象文件格式存储到文件中(不能是文本文件),文件命名为:班级-课程名.dat。例如:2010级网络工程1班-面向对象程序设计.dat。 <2> 打开课程考试成绩单,功能描述如下: n 程序通过文件对话框要求用户选择打开的成绩单文件。 n 程序打开并读取成绩单文件内容,并显示在界面中。 <3> 修改课程考试成绩单,功能描述如下: n 完成第<2>功能后,即打开某班某课程的成绩单后。 n 可以选择修改其中某个或某几个考试成绩,并保存。 <4> 课程考试成绩分析,功能描述如下: n 完成第<2>功能后,即打开某班某课程的成绩单后。 n 点击成绩分析按钮或菜单,显示如下分析内容: u 最高分:XX分,最低分:XX分,平均分:XX分 u 不及格(分数<60):XX人,占XX.XX% u 及格(60<=分数<70):XX人,占XX.XX% u 中等(70<=分数<80):XX人,占XX.XX% u 良好(80<=分数<90):XX人,占XX.XX% u 优秀(90<=分数<100):XX人,占XX.XX% <5> 成绩图形分析,功能描述如下:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值