数据结构【01】

1.了解数据结构,及应该如何学习。

数据结构:对计算机内存中数据的安排

  1. 了解各种数据结构的定义及特点。
  2. 了解Java对于该种数据结构的支持体现在哪里。
  3. 使用java语言对相应的数据结构进行实现。


1.数组

数据类型相同的元素的集合,就是数组。

特点:

2.栈

栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

3.队列

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

4.链表

链表是一种物理存储单元上非连续、非顺序的存储结构数据元素的逻辑顺序是通过链表中的指针链接次序实现的。

5.树

树状图是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。

6.堆

堆(英语:heap)是计算机科学中一类特殊的数据结构的统称。

堆通常是一个可以被看做一棵树的数组对象。

7.图

图中的对象可以是具体的,比如网络中的结点;也可以是不具体的,比如数据库中的业务或系统中的状态。相同点是对象之间的关系和联系

网络上的结点是物理上相连接的,系统中状态之间的关系可能只是简单地表示为了达到下一个状态在当前所做出的决策。无论什么情况,图的模型都很有用,能够解决许多有趣的问题。

图的组成:图由两种类型的元素组成,顶点和边。顶点代表对象,边则建立起对象之间的关系或关联。

图的有向:图要么是有向的,要么是无向的。

2.数组详解

概念:同一种类型数据的集合,其实数组就是一个容器。

数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。

格式: 数据类型 [] 数组名 = new 数据类型[数组长度]; 示例: int [] arr = new int[5];

格式:数据类型[] 数组名 = new 数据类型[]{数据1,数据2,数据3,....};

int [] arr = new int[] {11,22,33};

int [] arr = new{3,5,7};

一个容器装着相同类型的数据。

数组的好处:为数据进行了编号

数组初始化,就是给对数组进行赋值。

数组遍历,即对数组上所有的数据进行输出。

数组常见的异常:

  • NullPointerException 空指针异常 原因:引用类型变量没有指向任何对象,而访问了对象的属性或者是调用了对象的方法。
  • ArrayOutOfBoundsException 索引越界 原因:访问了不存在的索引值。

数组内存分析:

img

二维数组:实质就是存储一维数组

Arrays这个数组类的使用

java.util.Arrays

该类包含用于操作数组的各种方法(如排序和搜索)。 该类还包含一个静态工厂,可以将数组视为列表。

如果指定的数组引用为空,则该类中的方法都抛出一个NullPointerException ,除非另有说明。

主要功能:

1.sort排序

2.binarySearch 查找【二叉搜索算法】

3.toString以字符串形式输出

本文链接:

https://heyzen.club/index.php/Coder/283.html
1 + 9 =
快来做第一个评论的人吧~