java数据结构和算法new

java数据结构和算法new

ID:34512824

大小:689.30 KB

页数:43页

时间:2019-03-07

java数据结构和算法new_第1页
java数据结构和算法new_第2页
java数据结构和算法new_第3页
java数据结构和算法new_第4页
java数据结构和算法new_第5页
资源描述:

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

1、Java数据结构和算法一、数组于简单排序.........................................................1二、栈与队列...............................................................4三、链表...................................................................7四、递归.........................................................

2、.........22五、哈希表................................................................25六、高级排序..............................................................25七、二叉树................................................................25八、红—黑树....................................................

3、..........26九、堆....................................................................37十、带权图................................................................40一、数组于简单排序数组数组(array)是相同类型变量的集合,可以使用共同的名字引用它。数组可被定义为任何类型,可以是一维或多维。数组中的一个特别要素是通过下标来访问它。数组提供了一种将有联系的信息分组的便利方法。一维数组一维数组(one-dimen

4、sionalarray)实质上是相同类型变量列表。要创建一个数组,你必须首先定义数组变量所需的类型。通用的一维数组的声明格式是:typevar-name[];获得一个数组需要2步。第一步,你必须定义变量所需的类型。第二步,你必须使用运算符new来为数组所要存储的数据分配内存,并把它们分配给数组变量。这样Java中的数组被动态地分配。如果动态分配的概念对你陌生,别担心,它将在本书的后面详细讨论。数组的初始化(arrayinitializer)就是包括在花括号之内用逗号分开的表达式的列表。逗号分开了数组元素的值。Java会自动地分配一个足够大的空间来保存你指定

5、的初始化元素的个数,而不必使用运算符new。Java严格地检查以保证你不会意外地去存储或引用在数组范围以外的值。Java的运行系统会检查以确保所有的数组下标都在正确的范围以内(在这方面,Java与C/C++从根本上不同,C/C++不提供运行边界检查)。多维数组在Java中,多维数组(multidimensionalarrays)实际上是数组的数组。你可能期望,这些数组形式上和行动上和一般的多维数组一样。然而,你将看到,有一些微妙的差别。定义多维数组变量要将每个维数放在它们各自的方括号中。例如,下面语句定义了一个名为twoD的二维数组变量。inttwoD[]

6、[]=newint[4][5];简单排序简单排序中包括了:冒泡排序、选择排序、插入排序;1.冒泡排序的思想:假设有N个数据需要排序,则从第0个数开始,依次比较第0和第1个数据,如果第0个大于第1个则两者交换,否则什么动作都不做,继续比较第1个第2个„,这样依次类推,直至所有数据都“冒泡”到数据顶上。冒泡排序的的java代码:PublicvoidbubbleSort(){intin,out;for(out=nElems-1;out>0;out--)for(in=0;ina[in+1])Swap(in,in+1);}}算

7、法的不变性:许多算法中,有些条件在算法执行过程中始终是不变的。这些条件被称为算法的不变性,如果不变性不为真了,则标记出错了;冒泡排序的效率O(N*N),比较N*N/2,交换N*N/4;2.选择排序的思想:假设有N条数据,则暂且标记第0个数据为MIN(最小),使用OUT标记最左边未排序的数据,然后使用IN标记第1个数据,依次与MIN进行比较,如果比MIN小,则将该数据标记为MIN,当第一轮比较完后,最终的MIN与OUT标记数据交换,依次类推;选择排序的java代码:PublicvoidselectSort(){Intin,out,min;For(out=0;

8、out

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

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

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