Java数据结构和算法笔记

Java数据结构和算法笔记

ID:39550123

大小:615.82 KB

页数:49页

时间:2019-07-06

Java数据结构和算法笔记_第1页
Java数据结构和算法笔记_第2页
Java数据结构和算法笔记_第3页
Java数据结构和算法笔记_第4页
Java数据结构和算法笔记_第5页
资源描述:

《Java数据结构和算法笔记》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java数据结构和算法第0讲综述参考教材:Java数据结构和算法(第二版),[美]Robertlafore1.数据结构的特性数据结构优点缺点数组插入快;如果知道下标,可以非常快地存取查找慢,删除慢,大小固定有序数组比无序的数组查找快删除和插入慢,大小固定栈提供后进先出方式的存取存取其他项很慢队列提供先进先出方式的存取存取其他项很慢链表插入快,删除快查找慢二叉树查找、插入、删除都快(如果树保持平衡)删除算法复杂红-黑树查找、插入、删除都快;树总是平衡的算法复杂2-3-4树查找、插入、删除都快;树总是平衡的;类似的树对磁盘存储有用算法复杂哈希表如果关键字已知,则存储极快;插入快删除慢,如果不知

2、道关键字则存储很慢,对存储空间使用不充分堆插入、删除快;对大数据项的存取很快对其他数据项存取慢图对现实世界建模有些算法慢且复杂2.经典算法总结查找算法:线性查找和二分查找排序算法:用表展示第一讲数组1.Java中数组的基础知识1)创建数组在Java中把数组当作对象来对待,因此在创建数组时必须使用new操作符:int[]intArr=newint[10];一旦创建数组,数组大小便不可改变。2)访问数组数据项数组数据项通过方括号中的下标来访问,其中第一个数据项的下标是0:intArr[0]=123;1)数组的初始化当创建数组之后,除非将特定的值赋给数组的数据项,否则它们一直是特殊的null对象

3、。int[]intArr={1,2,3,4,5};等效于下面使用new来创建数组并初始化:int[]intArr=newint[5];intArr[0]=1;intArr[1]=2;intArr[2]=3;intArr[3]=4;intArr[4]=5;1.面向对象编程方式1)使用自定义的类封装数组MyArray类:publicclassMyArray{privatelong[]arr;privateintsize;//记录数组的有效长度publicMyArray(){arr=newlong[10];}publicMyArray(intmaxSize){arr=newlong[maxSiz

4、e];}//向数组中插入数据publicvoidinsert(longelement){arr[size]=element;size++;}//显示数组中的数据publicvoidshow(){for(inti=0;i

5、longelement){inti;for(i=0;i=size

6、

7、index<0){thrownewArrayIndexOutOfBoundsException();}else{returnarr[index];}}//删除数据publicvoiddelete(intindex){if(index>=size

8、

9、i

10、ndex<0){thrownewArrayIndexOutOfBoundsException();}else{//当size=maxSize,删除最后一个数时,不会执行forfor(inti=index;i=size

11、

12、index<0){thrownewArrayIndexOutOfBoundsException();}else{arr[ind

13、ex]=value;}}}1)添加类方法实现数据操作测试MyArray类方法:publicvoidtestMyArray()throwsException{MyArraymyArray=newMyArray();myArray.insert(123);myArray.insert(456);myArray.insert(789);myArray.show();//[123,456,789]System.out.print

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

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

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