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数据结构(线性表)--线性表 & 线性表和数组的关系的主要内容,如果未能解决你的问题,请参考以下文章

线性表--线性表的基本概念

线性表---顺序表&链表

线性表

数据结构&算法05-线性表之数组

线性表 & 散列表

Java数据结构(线性表)--线性表的顺序存储及其实现