Java06标准类库与常用算法.ppt
上传人:sy****28 上传时间:2024-09-13 格式:PPT 页数:48 大小:1.6MB 金币:14 举报 版权申诉
预览加载中,请您耐心等待几秒...

Java06标准类库与常用算法.ppt

Java06标准类库与常用算法.ppt

预览

免费试读已结束,剩余 38 页请下载文档后查看

14 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第6章标准类库与常用算法主要内容数据结构数据结构数据结构(2)算法误差衡量算法的误差幅度核心语言包(java.lang)Object类Object类(3)finalize()方法protectedvoidfinalize()throwsThrowable该方法可以观察垃圾回收的过程。(4)clone()方法protectedobjectclone()该方法被声明为保护型,只有继承链上的类才可以调用来克隆对象。【例5-8】Object类的使用方法Class类System类Math类Number类BigDecimal类不可变的、任意精度的有符号的十进制数字java.util程序包提供了一系列描述数据结构的实用化类和接口,其核心是向量(Vector)、二进制位集合(BitSet)、堆栈(Stack)和散列表(Hashtable)等能包容一种各类对象的类型。同时它还提供了若干个十分有用的类,如日期类、阳历类、日历类、随机数发生器类和字符串分解器类等。java.util程序包集合Vector类举例举例举例线性表类链表类堆栈类递归算法【例5-6】计算两个正整数的最大公约数算法描述:采用“辗转相除法”①假定两个数为p和q,首先判断p与q的大小关系,如果p<q则交换它们;②计算p与q的余数r=p/q,如果r为0,则q即为所求,程序结束;否则继续;③令p=q,q=r,并转到②继续进行。程序代码:1:Scannersc=newScanner(System.in);2:intp=sc.nextInt();3:intq=sc.nextInt();4:System.out.print(p+“与”+q+“的最大公约数=”);5:intr=Math.max(p,q);6:q=Math.min(p,q);7:p=r;8:while((r=p%q)!=0)9:{10:p=q;11:q=r;12:}13:System.out.println(q);递归算法递归算法一般用于解决三类问题:问题的数据定义形式是按递归定义的;问题解法按递归算法实现,例如回溯等;问题的数据结构形式是按递归定义的,如树的遍历,图的搜索等。【例5-7】从键盘输入整数n,然后使用递归算法计算裴波那契数列的第n项算法描述:f(0)=0;f(1)=1;f(n)=f(n-1)+f(n-2)递归方式定义:1:longf(intn)2:{3:if(n==0)4:return0;5:elseif(n==1)6:return1;7:else8:returnf(n-1)+f(n-2);9:}主方法体代码:1:Scannersc=newScanner(System.in);2:intn=sc.nextInt();3:Fibonaccifibonacci=newFibonacci();4:longresult=fibonacci.f(n);5:System.out.println(“裴波那契数列第”+n+“项=”6:+result);排序算法双冒泡排序算法双冒泡排序算法只不过在“一趟冒泡”过程中再增加一次冒泡过程,分别称为“前冒泡过程”和“后冒泡过程”。前者与上述的办法完全一样,后者从删除掉“沉底”元素后剩下的一组数据中取最后相邻两元素开始比较两元素的大小,也是将小的调换到前面,然后,再选取前移一个位置的相邻两元素进行比较,重复上述过程,直到把此时的一组数据比较完为止,才完成后冒泡过程。双冒泡排序算法的测试:1:publicclassSortTool{2:publicstaticvoidswapItem(intdata[],inti,intj)3:{4:try5:{6:inttemp=data[i];7:data[i]=data[j];8:data[j]=temp;9:}10:catch(ArrayIndexOutOfBoundsExceptionaIndexOutEx)11:{System.out.println(“执行线程中的数组下标越界!”);}12:}13:publicstaticvoidprtElement(intdata[])14:{15:for(intk=0;k<data.length;k++)16:System.out.print(data[k]+““);17:System.out.println();18:}19:}1:publicclassBidirectionalBubbleSortextendsSortTool{2:publicintexchNum;3:publicvoidbiDirSort(inta[])4:{5:intj,k=1;6:intlimit=