数据规划 考研,数据规划考研真题

一、数据规划

1.1 常见的数据规划——栈

1.1.1 栈的特征: 后出(存进入的元素,要在后它后边的元素顺次取出后,才干取出该元素)

1.1.2 栈的常用名词:

压栈:就是存元素。把元素存储到栈的顶端方位,栈中已有元素顺次向栈底方向移动一个方位。

弹栈:就是取元素。把栈的顶端方位元素取出,栈中已有元素顺次向栈顶方向移动一个方位。

1.1.3 栈的图示:

1.2 常见的数据规划——行列

1.2.1 行列的特征: 先出(存进入的元素,要在后它前面的元素顺次取出后,才干取出该元素)

1.2.2 行列的图示:

1.3 常见的数据规划——数组

1.3.1 数组的特征:查询快,增删慢

1.4 常见的数据规划——链表

1.4.1 链表的特征:查询慢,增删快

1.4.2 链表的规划:链表由一系列结点node(链表中每一个元素称为结点)构成,结点可以在运转时动态生成。每个结点包括两个有些:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。

1.5 常见的数据规划——红黑树

1.5.1 概念: 二叉树是每个结点不跨越2的有序树,简略的了解,就是一种类似于咱们日子中树的规划,只不过每个结点上都最多只能有两个子结点。 二叉树是每个节点最多有两个子树的树规划。顶上的叫根结点,两端被称作“左子树”和“右子树”,红黑树本身就是一颗二叉查找树。

1.5.2 二叉树图示:

1.5.3 红黑树的捆绑:

1. 节点可所以赤色的或许黑色的

2. 根节点是黑色的

3. 叶子节点(特指空节点)是黑色的

4. 每个赤色节点的子节点都是黑色的

5. 任何一个节点到其每一个叶子节点的一切途径上黑色节点数相同

1.5.4 红黑树的特征:查询速度特别快,查找叶子元素最少和最多次数不多于二倍

二、 list集结

2.1 java.util.list接口继承自collection接口,是单列集结的一个重要分支,习气性地会将完成了list接口的目标称为list集结。

2.2 list接口特征:

1. 它是一个元素存取有序的集结。

2. 它是一个带有索引的集结,经过索引就可以精确的操作集结中的元素(与数组的索引是一个道理)

3. 集结中可以有重复的元素,经过元素的equals办法,来比照是不是为重复的元素。

2.3 list接口常用办法:

public void add(int index, e element) : 将指定的元素,添加到该集结中的指定方位上。 public e get(int index) :回来集结中指定方位的元素。

public e remove(int index) : 移除列表中指定方位的元素, 回来的是被移除的元素。 public e set(int index, e element) :用指定元素替换集结中指定方位的元素,回来值的更新前的元素。

三、 list的子类

3.1 java.util.arraylist集结数据存储的规划是数组规划。元素增删慢,查找快,因为往常开发中运用最多的功用为查询数据、遍历数据,所以arraylist是最常用的集结。

3.2 java.util.linkedlist 集结数据存储的规划是链表规划。便利元素添加、删去的集结。

3.2.1 linkedlist常用办法:

public void addfirst(e e) :将指定元素刺进此列表的最初。

public void addlast(e e) :将指定元素添加到此列表的结束。

public e getfirst() :回来此列表的第一个元素。

public e getlast() :回来此列表的最终一个元素。

public e removefirst() :移除并回来此列表的第一个元素。

public e removelast() :移除并回来此列表的最终一个元素。

public e pop() :从此列表所标明的仓库处弹出一个元素。

public void push(e e) :将元素推入此列表所标明的仓库。

public boolean isempty() :假定列表不包括元素,则回来true。

四、set接口

4.1 java.util.set接口和java.util.list接口相同,相同继承自collection 接口,它与 collection 接口中的方 法根柢共同,并没有对 collection 接口进行功用上的扩展,只是比 collection 接口愈加严肃了。

4.2 set接口特征:

1、set接口中元素无序

2、set接口中元素不能重复

3、set集结取出元素的方法可以选用迭代器和增强for

4.3 java.util.hashset是set接口的一个完成类,它所存储的元素是不可以重复的,而且元素都是无序的(即存取次序纷歧致)。java.util.hashset底层的完成其实是一个 java.util.hashmap撑持。

4.3.1 hashset是根据目标的哈希值来断定元素在集结中的存储方位,因而具有杰出的存取和查找功能。保证元素仅有性的方法依靠于:hashcode与equals办法。

4.3.2 hashset集结存储数据的规划(哈希表):哈希表是由数组+链表+红黑树完成的,如下图所示:

保证hashset集结元素的仅有, 其实就是根据目标的hashcode和equals办法来抉择的。假定咱们往集结中存放自界说的目标,那么保证其仅有, 就有必要复写hashcode和equals办法树立归于其时目标的比照方法。

4.4 hashset存储自界说类型元素:给hashset中存放自界说类型元素时,需要重写目标中的hashcode和equals办法,树立自个的比照方法,才干保证hashset集结中的目标仅有

4.4.1 重写hashcode和e

quals办法代码完成如下:

4.5 可变参数:假定咱们界说一个办法需要承受多个参数,而且多个参数类型共同,咱们可以对其简化成如下格局:

润饰符 回来值类型 办法名(参数类型 形参名){ }

用在参数上,称之为可变参数

4.5.1 运用举例:

public static int getsum(int arr) {}

4.5.2 留心思项:假定在办法书写时,这个办法具有多参数,参数中包括可变参数,可变参数必定要写在参数列表的结束方位。

五、collections

5.1 java.utils.collections 是集结东西类,用来对集结进行操作。有些办法如下:

public static boolean addall(collection c, t elements) :往集结中添加一些元素。

public static void shuffle(list list) 打乱次序 :打乱集结次序。

public static void sort(list list) :将集结中元素依照默许规则排序。

public static void sort(list list,comparator ) :将集结中元素依照指定规则排

序。

数据规划 考研(数据规划考研真题)

未经答应不得转发:考研网 » 数据规划 考研(数据规划考研真题)

赞 (0) 打赏

Leave a Comment