1 / 42
文档名称:

Java数据结构和算法.pdf

格式:pdf   页数:42页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Java数据结构和算法.pdf

上传人:所以所以 2013/5/21 文件大小:0 KB

下载得到文件列表

Java数据结构和算法.pdf

文档介绍

文档介绍:Java 数据结构和算法
一、数组于简单排序........................................................... 1
二、栈与队列................................................................ 4
三、链表.................................................................... 7
四、递归................................................................... 22
五、哈希表................................................................. 25
六、高级排序............................................................... 25
七、二叉树................................................................. 25
八、红—黑树............................................................... 26
九、堆..................................................................... 36
十、带权图................................................................. 39
 
一、数组于简单排序 
数组 
数组(array)是相同类型变量的集合,可以使用共同的名字引用它。数组可
被定义为任何类型,可以是一维或多维。数组中的一个特别要素是通过下标来访
问它。数组提供了一种将有联系的信息分组的便利方法。 
一维数组 
一维数组(one‐dimensional array  )实质上是相同类型变量列表。要创建一
个数组,你必须首先定义数组变量所需的类型。通用的一维数组的声明格式是: 
type var‐name[ ];  
获得一个数组需要 2 步。第一步,你必须定义变量所需的类型。第二步,你
必须使用运算符 new 来为数组所要存储的数据分配内存,并把它们分配给数组
变量。这样 Java  中的数组被动态地分配。如果动态分配的概念对你陌生,别担
心,它将在本书的后面详细讨论。 
数组的初始化(array initializer  )就是包括在花括号之内用逗号分开的表达
式的列表。逗号分开了数组元素的值。Java  会自动地分配一个足够大的空间来
保存你指定的初始化元素的个数,而不必使用运算符 new。 
Java  严格地检查以保证你不会意外地去存储或引用在数组范围以外的值。
Java  的运行系统会检查以确保所有的数组下标都在正确的范围以内(在这方面,
Java  与 C/C++  从根本上不同,C/C++  不提供运行边界检查)。 
多维数组 
在 Java  中,多维数组(multidimensional arrays  )实际上是数组的数组。你
可能期望,这些数组形式上和行动上和一般的多维数组一样。然而,你将看到,
有一些微妙的差别。定义多维数组变量要将每个维数放在它们各自的方括号中。
例如,下面语句定义了一个名为 twoD  的二维数组变量。 
int twoD[][] = new int[4][5];  
 
简单排序 
简单排序中包括了:冒泡排序、选择排序、插入排序; 
: 
假设有 N 个数据需要排序,则从第 0 个数开始,依次比较第 0 和第 1 个数据,
如果第 0 个大于第 1 个则两者交换,否则什么动作都不做,继续比较第 1 个第 2
个…,这样依次类推,直至所有数据都“冒泡”到数据顶上。 
冒泡排序的的 java 代码: 
Public void bubbleSort() 
{ 
int in,out; 
for(out=nElems‐1;out>0;out‐‐) 
  for(in=0;in<out;in++) 
  { 
    If(a[in]>a[in+1]) 
      Swap(in,in+1); 
} 
} 
算法的不变性:许多算法中,有些条件在算法执行过程中始终是不变的。这些