java线性表实验心得_浅谈线性表的原理及简单实现方法

本文介绍了线性表的原理,包括有序性、有限性等特征,并详细阐述了基于数组的线性表顺序实现,包括初始化、存取、插入、删除等操作。讨论了数组实现的优点和缺点,如快速存取但插入删除需要数组复制。同时提供了一个简单的Java实现示例。
摘要由CSDN通过智能技术生成

一、线性表

原理:零个或多个同类数据元素的有限序列

原理图:

78ceb880dca1cc9baf50a05237b0690d.png

特点 :

1、有序性

2、有限性

3、同类型元素

4、第一个元素无前驱,最后一个元素无后继,中间的元素有一个前驱并且有一个后继

线性表是一种逻辑上的数据结构,在物理上一般有两种实现 顺序实现和链表实现

二、基于数组的 线性表顺序实现

原理 : 用一段地址连续的存储单元依次存储线性表数据元素。

原理图:

5788f4cec4acbc609578b4c7106e7e52.png

算法原理:

1、初始化一个定长的数组空间 elementData[] , size 存储长度 存储元素

2、通过索引来快速存取元素

3、通过数组复制实现元素的插入和删除

总结:

1、无需为表示表中元素之间的逻辑关系增加额外的存储空间

2、可以快速存取表中任一位置元素

3、插入和删除需要进行数组复制(即大量元素的移动)

4、线性表长度变化较大时,需要频繁扩容,并造成存储空间碎片

实现代码:

接口定义:

package online.jfree.base;

/**

* author : Guo LiXiao

* date : 2017-6-14 11:46

*/

public interface LineList {

/**

* lineList 是否为空

* @return

*/

boolean isEmpty();

/**

* 清空 lineList

*/

void clear();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值