算法分析及设计期末复习题_第1页
算法分析及设计期末复习题_第2页
算法分析及设计期末复习题_第3页
算法分析及设计期末复习题_第4页
算法分析及设计期末复习题_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-PAGE . z.一、选择题1一个.java文件中可以有 个public类。A一个 B两个 C多个 D零个2一个算法应该是 A程序 B问题求解步骤的描述 C要满足五个根本特性 DA和C3用计算机无法解决打印所有素数的问题,其原因是解决该问题的算法违背了算法特征中的 A唯一性B有穷性C有0个或多个输入 D有输出4*校有6位学生参加学生会主席竞选,得票数依次为130,20,98,15,67,3。假设采用冒泡排序算法对其进展排序,则完成第二遍时的结果是 A3,15,130,20,98,67B3,15,20,130,98,67C3,15,20,67,130,98 D3,15,20,67,98,130

2、5以下关于算法的描述,正确的选项是 A一个算法的执行步骤可以是无限的B一个完整的算法必须有输出C算法只能用流程图表示D一个完整的算法至少有一个输入6Java Application源程序的主类是指包含有 方法的类。A、main方法 B、toString方法 C、init方法 D、actionPerfromed方法7找出满足各位数字之和等于5的所有三位数可采用的算法思路是 A分治法B减治法C蛮力法D变治法8在编写Java Application程序时,假设需要使用到标准输入输出语句,必须在程序的开头写上( )语句。A、import java.awt.* ; B、import java.apple

3、t.Applet ;C、import java.io.* ; D、import java.awt.Graphics ;9计算*球队平均年龄的局部算法流程图如下图,其中:c用来记录已输入球员的人数,sum用来计算有效数据之和,d用来存储从键盘输入的球员年龄值,输入0时表示输入完毕。图中空白处理框和处应填入的是 A sum sum + d B sum sum + c c c + 1 c c + 1C sum sum + d D sum sum + c d d + 1 d d + 110报名参加冬季越野赛跑的*班5位学生的*是:5,8,11,33,45。利用折半查找,查找*为33号学生的过程中,依次

4、被访问到的*是 A5,11,33 B8,33C11,45,33D11,3311表达式short8/9.2*5的值的类型为Ashort B int Cdouble Dfloat12 设*为int型变量,则执行一下语句段后,*的值为 *=10;*+=*-=*-*;A10 B20 C40 D3013以下代码的执行结果是public class StringTest public static void main(String args) int a=4,b=6,c=8; String s=abc;System.out.println(a+b+s+c); System.out.printin(); A

5、ababcc B464688 C46abc8 D10abc814 以下程序段执行后t3的结果是int t1 = 2, t2 = 3, t3;t3=t1t2 t1:t2+t1A2 B4 C5 D615要计算当0*10时,y=*,应当使用的语句是Aif(0*10)y=*; Bif(0*|*10)y=*;Cif(0*&*10)y=*; Dif(0* 1时,F(n) = F(n-1) + F(n-2) F(0) = 0,F(1) = 1请编写Java应用程序,由键盘输入n的值代表要生成斐波那契数列的项数,在屏幕上输出n项斐波那契数列。import java.io.*;public class Fb/*

6、斐波那契数列算法*/int f(int n)int r;if(n = 1)r = n;elser = f(n-1) + f(n-2);return r;public static void main(String args) throws IOE*ceptionSystem.out.println(请输入所求斐波那契数列的项数:);byte buf = new byte20;System.in.read(buf);String t1 = new String(buf);int n = Integer.parseInt(t1.trim();Fb f1 = new Fb();int b;Syste

7、m.out.println(输出包含 + n + 项的斐波那契数列:);for(int i = 0; i = n; i+)b = f1.f(i);System.out.print(b + );System.out.println();3编写基于Java语言的选择排序算法。/* 功能:该算法用选择排序对给定的数组排序* 输入:一个乱序的整数数组a * 输出:升序排列的整数数组a */public void selectionSort (int a ) int temp,min; for(int i=0;ia.length-1;i+)min = i; for(int j=i+1;j aj) min

8、 = j;temp = ai;ai = amin;amin = temp; 4编写基于Java语言的冒泡排序算法。/* 功能:该算法用冒泡排序对给定的数组排序* 输入:一个乱序的整数数组a * 输出:升序排列的整数数组a */public void bubbleSort(int a)int temp;for(int i=0;ia.length-1;i+)for(int j=0;jaj+1)temp = aj+1;aj+1 = aj;aj = temp;5编写基于Java语言的顺序查找算法。/* 功能:该算法实现顺序查找功能* 输入:一个整数数组a 和一个要查找的键值k* 输出:如果在数组中找到

9、k,则返回对应数组元素的下标;如果在数组中找不到k,则返回-1*/public int seqSearch(int a ,int k)int i = 0;while(i a.length ) & ( ai != k )i = i + 1;if( i a.length)return i;elsereturn -1;6编写基于Java语言的折半查找算法。/* 功能:该算法实现折半查找功能* 输入:一个已经按照升序排列好的整数数组a 和一个要查找的键值k* 输出:如果在数组中找到k,则返回对应数组元素的下标;如果在数组中找不到k,则返回-1*/public int binarySearch(int

10、a , int k)int low = 0; int upper = a.length - 1; while(low = upper) int mid = (low+upper) / 2;if(k = amid)return mid;else if(des amid) upper = mid - 1; elselow = mid + 1; return -1;7编写基于Java语言的字符串匹配算法。/* 功能:该算法实现字符串匹配功能* 输入:一个n个字符的字符串str代表一段文本 一个m个字符的字符串key代表一个模式* 输出:如果查找成功的话,返回文本的第一个匹配字符串中第一个字符的位置,否则返回-1*/public int stringMatch(String str,String key)int j;int n = str.length();int m = key.length();for(int i = 0; i = (n - m); i+)j = 0;while(j m) & (key.charAt(j) = str.charAt(i+j)j = j + 1;System.out.println(i + , + j);if(j = m)return i;return

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论