Java数据结构与算法(第二章数组)

        数组是应用最普遍的数据存储结构。它被植入到大部分编程语言中。java

Java中数组的基础知识算法

    建立数组
编程

            在Java中把它们看成对象来对待,所以在建立数组是必须使用new操做符:数组

    int[] intArray;            //defines a reference to an array
    ingArray = new int[100];    //creates the array, and 
                                //sets int Array to refer to it
    //或使用等价的单语句声明的方法:
    int[] int array = new int[100];

            数组是一个对象,因此它的名字(前面程序中intArray)是数组的一个引用;它并非数组自己。数组存储在内存中的其余地址中,而intArray仅仅保存着这个地址。数组有一个length字段,经过它能够得知当前数组大小(数据项的个数);
编程语言

int arrayLength = intArray.length;        //find array size

一旦建立数组,大小便不可改变。spa

    访问数组数据项设计

            数组数据项经过方括号中的下标来访问。
code

        temp = intArray[3];        //get contents of fourth element of array
        intArray[7] = 66;            //intsert 66 into the eighth cell

    初始化
对象

            当建立整型数组以后,不另行指定那么数组会自动初始化为空。
接口

            除非将特定的值赋给数组的数据项,不然它们一直是特殊的null对象。

            使用下面的语法能够初始化一个基本类型的数组:

int[] intArray = {1,3,45,23,123,122,56};

            数组的大小是由数据列表中的数据项决定的;大小固定不可改变;

有序数组的Java代码

            下面讨论一下有序数组的Java代码,它使用OrdArray类来封装数组和它的算法。类的核心是find()方法,通脱二分查找类定位一个特定的数据项。

小结

  • Java中的数组是对象,由new操做符建立;

  • 无序数组能够提供快速的插入,但查找和删除较慢;

  • 将数组封装到类中能够保护数组不随意更改;

  • 类的接口类用户能够访问的方法(有时还有字段)组成;

  • 类的接口被设计成使类用户操做更加简单;

  • 有序数组能够使用二分查找;

  • 以B为底A的对数(大概)是在结果小雨1以前用B除A的次数;

  • 线性查找须要的时间与数组中数据项的个数成正比;

  • 二分查找须要的时间与数组中数据项的个数的对数成正比;

  • 大O表示法为比较算法的速度提供了一种方便的方法。

  • O(1)级时间的算法是最好的,O(logN)次之,O(N)为通常,O(N²)最差;







36页

相关文章
相关标签/搜索