Java数据结构(线性表)--线性表 & 线性表和数组的关系
Posted Z && Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java数据结构(线性表)--线性表 & 线性表和数组的关系相关的知识,希望对你有一定的参考价值。
1. 线性表
线性表是一种最常用、最简单、也是一种最基本的数据结构,它是学习其他数据结构的基
础。线性表在计算机中可以用顺序存储和链使存储两种存储结构来表示。其中用顺序存储结
构表示的线性表称为顺序表,用链使存储结构表示的沉稳给链表。链表又有单链表、双向链
表、循环链表之分。
1.1 线性表的定义
有限的数据元素组成的有限序列,通常表示为(a0,a1,...,ai,...,an-1)。
其中下标i标识数据元素在线性表中的位序号,n为线性表的表长,当n = 0的时候,
此线性表是空表。
1.2 线性表的特点
- 对于同一个线性表,对其每一个数据元素的值可以不相同,但必须具有相同的数据类型;
- 数据元素之间具有一种 线性的 或者 一对一 的逻辑关系
- 第一个数据元素没有前驱,这个数据元素也称为开始结点(头结点)。
- 最后一个元素没有后继,这个数据元素被称为终端结点(尾结点)
- 除了第一个元素与最后一个数据元素之外,其他数据元素都有且仅有一个前驱和后继。
- 线性表是一种线性结构。
1.3 线性表的基本操作
1.4 线性表抽象数据类型的Java接口描述
IList.java
package linearTable;
/**
* ClassName: SequenceTable
* Description: 线性表抽象数据类型的Java接口描述
*
* @author Tianjiao
* @date 2021/7/4 20:06
*/
public interface IList {
// 将一个已经已经存在的线性表置为空表
public void clear();
// 判断线性表是否为空
public boolean isEmpty();
// 求线性表中数据元素的个数并且返回
public int length();
// 读取并返回线性表中的第i个数据元素
public Object get(int i) throws Exception;
// 在线性表第i个数据元素之前插入一个值为o的数据元素.
public void insert(int i, Object o) throws Exception;
// 删除线性表中下标(位序号)中第i个数据元素
public void remove(int i) throws Exception;
// 返回线性表中首次出现o的下标(位序号)
public int indexOf(Object o);
// 输出线性表中所有的数据
public void display();
}
1.5 线性表和数组的关系
线性表与数组都是数据结构,只是描述角度不同。线性表是从逻辑结构的角度来说的,它的
每一个元素都只有一个前驱元素和一个后驱元素除了头和尾,逻辑结构还有队列,堆栈,
树,图等。而数组是从物理存贮的角度来说的,线性表可以用数组存储也可以用链表来存
储。同样的队列也可以用数组和链表存储,各有利弊。具体使用时,根据具体情况选择。
数组和线性表在存储方式上没有什么不同,都是顺序存储。即在内存中开辟一块连续的存储空间用于存储数据,所以数据在物理存储位置上是相邻的。
以上是关于Java数据结构(线性表)--线性表 & 线性表和数组的关系的主要内容,如果未能解决你的问题,请参考以下文章