Java学习之路-数据结构了解

193 阅读2分钟
1、概述

数据结构(data structure):是计算机专业一门独立学科,主要研究数据的逻辑结构和存贮结构及数据之间的关系

逻辑结构:主要用4个 -- 集合、线性结构、树(元素之间构建的是层次关系)、图(网状关系)

**集合:**一个存放数据的容器(第3章研究)

**线性结构:**除第一个元素外,每一个元素只有一个前驱,除最后一个元素外,每一个元素只有一个后驱;

​ 线性表、栈(特点:先进后出)、队列

存贮结构:数据在磁盘中如何存贮;

顺序存贮(数据存放在磁盘连续的空间中);

链式存贮(数据存放在磁盘的任何位置),单向链式存贮(单链表)、双向链式存贮(双链表)、循环链式存贮(循环链表)

2、线性表

基于 数组 实现线性结构 (用数组存放数据,并保持元素之间是一个线性关系)

编写线性结构的数据结构

	public void insert(int i,Object data); //添加到线性表指定的位置;
	public void append(Object data) ;//追加到线性表的末尾;
	public void remove(int i);
	public void update(int i,Object data);//i为下标 ;
	public Object get(int i);
	public Object[] list();
	public int size(); //线性表元素数量;
	public boolean isEmpty();//线性表是否为空;

总结:对数据常见操作:检索,插入,删除,更新,排序

3、栈(stack)

SUN在JDK中已实现了设计 --- java.util.Stack类

public void push(Object data);
public Object pop();
public Object seek();
public int size();
public boolean isEmpty();
4、队列(queue)

队列特点:先进先出(FIFO)

SUN在JDK中已实现了设计 --- java.util.Queue阶列接口 ,其中LinkedList类是Queue接口的一个实现类

boolean offer(E e); //添加数据  入队
Object poll(); //删除 出队
Object peek();//返回队列第一次元素(不删)
int size();
boolean isEmpty();
5、算法

检索:遍历 、二分查找(对一个排好序 序列)

排序:4种排序算法(冒泡排序 选择排序 插入排序 快速排序)