java版数据结构与算法第二章数组

时间:2022-12-28 15:13:54

数组由一组具有相同类型的数据元素组成,并存储在一组连续存储单元中。一维数组是常量。

二维数组:若一维数组中的数据元素又是一堆数据结构,我们称之为二维数组。二维数组可以看成是n个列向量组成的线性表。

数组的存储结构:

以为数组:的存储单元地址是连续的。

java中数组是静态的。当数组被初始化之后,该数组所占的内存空间、数组长度都是不可变的。java中的数组必须经过初始化之后才可以使用。

数组初始化的两种方式:

  静态初始化:初始化时,我们显示的指定每个数组元素的初始值,由系统决定数组的长度。

  动态初始化:初始化时,我们只规定数组的长度,由系统分配值。

  动态初始化数组,由系统分配初始值

    1)数组元素是基本类型中的整型类型(byte、short、int、long)数组元素初始值为0

     数组元素基本类型的浮点类型(float、double)数组元素的初始值为0.0

     数组元素是基本类型中的字符类型(char)数组元素的值为\u000

      数组元素十几本类型中布尔类型(boolean)数组元素的值为false

    2)数组元素是引用类型(类、接口、数组)时,数组元素初始值为NULL

      

      数组变量只是一个引用变量,而数组对象是保存在堆内存中的连续内存空间,对数组执行初始化,并不是对数组变量执行初始化,而是在堆内存中创建数组对象,也就是为该数组对象分配一块连续的内存空阿金,这块连续的内存空间的长度就是数组的长度。

不要同时使用静态初始化,和动态初始化,其实就是不要既指定了数组的长度,又为数组赋了初始值。

数组变量&数组对象

数组变量只是一个引用类型的变量,并不是数组对象本身。

数组对象,只有让数组变量指向有效的数组对象,程序中才可以使用数组变量。

java中的数组对

java中的数组是对象,由new操作符创建

无序数组可以提供快速的插入、但查找和删除较慢

将数组封装到类中可以保护数组不被随意更改

类的接口由类用户可以访问的方法组成

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

有序数组可以使用二分查找

以B为底A的对数是结果小于1之前用B除A的次数

线性查找需要的时间与数组中数据项的个数的对数成正比

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

O(1)级时间的算法是最好的O(logN)次之,O(N)一般,O(N平方)最差