Java程序设计大学教程第五章

Java程序设计大学教程第五章

ID:38838873

大小:357.32 KB

页数:19页

时间:2019-06-20

Java程序设计大学教程第五章_第1页
Java程序设计大学教程第五章_第2页
Java程序设计大学教程第五章_第3页
Java程序设计大学教程第五章_第4页
Java程序设计大学教程第五章_第5页
资源描述:

《Java程序设计大学教程第五章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章算法与数据结构程序是建立在数据结构基础上使用计算机语言描述的算法,因此简单地讲,程序也可以表示成:算法+数据结构。介绍算法的概念及常用算法。并通过数组、链表、栈、队列等数据结构以及Java对象容器,讨论算法的应用及算法的Java程序实现。5.1算法算法是为了求解某一问题在有限步骤内、定义了具体操作序列的规则集合。一个算法应该具有以下五个重要的特征:确切性(Noambiguity)算法的每一步骤必须有确切的定义。而不应该有二义性,例如,在算法中不能出现诸如“赋值为100或1000”。输入(Input)有0个或多个输入,用于初始化运算对象。所谓

2、0个输入是指无需输入条件,而算法本身定出了初始条件。输出(Output)没有输出的算法是毫无意义的。一个算法应该有一个或多个输出,以反映对输入数据加工后的结果。可行性(Feasibility)算法原则上能够精确地运行,而且对于算法中的每种运算,在原理上人们应该能用笔和纸做有限次运算后完成。有穷性(Finite)算法必须保证执行有限步之后结束。只具有前面四个特征的规则集合,称不上算法。例如,尽管操作系统能完成很多任务,但是它的计算过程并不终止,而是无穷无尽的执行、等待执行,所以操作系统不是算法。5.1.1算法的描述1、伪代码描述:伪代码(Pseud

3、o-code)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(如Pascal、C、Java等)实现。因此,伪代码必须结构清晰,代码简单,可读性好,并且类似自然语言。伪代码描述的算法:1.x←02.y←03.z←04.whilex<1004.1dox←x+14.2y←x+y4.3fort←0to104.3.1doz←(z+x*y)/1004.3.2repeat4.3.2.1y←y+14.3.2.2z←z-y4.3.3.untilz<04.4.z←x*y5.y←y/2Java代码实现:intx=0;inty=0;

4、intz=0;while(x<100){x=x+1;y=x+y;for(intt=0,t<=10,t++){z=(z+x*y)/100;do{y=y+1;z=z-y;}while(z<0);};z=x*y;}y=y/2;5.1.1算法的描述2、图形描述:程序设计中,能够用来表示算法基本概念的图主要有:PAD图、NS盒图、流程图。处理1处理2处理1处理2处理条件否、是条件处理是条件否、端点符处理判断预定义处理连接符顺序结构选择结构(while-do)(repeat-until)循环结构程序流程图常用图形符号及控制结构图例5.1.2常用算法基本算法

5、大都比较简单,是其他算法的基础。这类算法在程序中应用非常普遍,如:累加求和、累乘求积、求最大和最小值等。从10个数中求最大值算法的例子开始初始化,将largest和counter设为0计数器判断counter<10?否、是while-do循环largest←theInteger大值比较theInteger>larges?否、是返回largest结束输入被比较的数theInteger计数:counter←counter+1伪代码描述算法:FindLargestInput:10positiveintegers1.largest←02.counter←

6、03.while(counter<10)3.1InputtheInteger3.2if(theInteger>largest)then3.2.1largest←theIntegerendif3.3counter←counter+1endwhile4.ReturnlargestEndJava语言实现:importjava.io.*;publicclassMax{publicstaticvoidmain(String[]args)throwsIOException{//初始化BufferedReaderinput=newBufferedReader(

7、newInputStreamReader(System.in));intlargest=0;intcounter=0;inttheInteger=0;//循环比较while(counter<10){//输入被比较的数counter++;//计数System.out.println("请输入第"+counter+"个被比较的数:");StringinputString=input.readLine();theInteger=Integer.parseInt(inputString);//大值比较if(theInteger>largest)large

8、st=theInteger;}//whileSystem.out.println("求出最大数是:"+largest);}}5.1.2常

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。