数据结构------【线性表】

本文介绍了线性表的基本概念及两种主要存储方式——顺序存储和链式存储,并详细阐述了每种存储方式的特点及其操作过程,如插入、删除等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线性表:零个或多个数据元素的有限序列。

第一个元素为a1a1,每个元素的的所占长度为cc,第i个元素aiai的地址: Loc(ai)=Loc(ai)+(i1)cLoc(ai)=Loc(ai)+(i−1)∗c,可通过地址获取相应元素,所以任意元素的读取时间复杂度为O(1)O(1)

线性表的两种存储结构 【顺序存储】【链式存储】

【顺序存储】指的是用一段地址连续的存储单元依次存储线性表的数据单元。

由于数据表的元素类型相同,可以用以一维数组来实现顺序存储结构。
用数组来实现线性表,数组的长度(length,表示存储空间的长度)和线性表的长度(size,线性表的数据元素个数)注意区分。

插入操作:

①插入位置不合理,抛出异常;
②插入使线性表的长度大于数组长度,要么抛出异常要么动态增加容量;
③从最后一个元素开始,遍历到第ii个位置,分别将它们往后移一个元素位置;
④将要插入的元素赋值给第i个位置;
⑤表长加1。

删除操作:

①删除位置不合理,抛出异常;
②取出删除的元素;
③从删除位置开始遍历到最后一个位置,分别将它们往前移一个元素位置;
④表长减1。

【顺序存储结构的优缺点】
advantages:

①无须为表示表中元素之间的逻辑关系增加额外的存储空间;
②存取时间复杂度为O(1)O(1),存取速度快;

disadvantages:

①插入删除移动大量元素;
②线性表长度变化较大时,难以确定存储容量;
③由于线性表的长度一般小于存储数组的长度,且又是开辟内存的连续空间,可能造成存储的“碎片”;

【链式存储】指在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的).。

【单链表】【静态链表】【循环链表】【双向链表】

【单链表】除了存储每个元素数据还要存储与后继元素的逻辑关系(直接后继元素的位置),把存储数据元素信息域称为数据域,把存储直接后继位置的域称为指针域,这两部分信息组成的数据元素aiai的存储映像,称为结点nn个结点链接成一个链表,即为线性表的链式存储结构,每个结点只包含一个指针域,故叫做单链表

链表中第一个结点的存储位置叫做头指针

有时会在第一个结点前附设一个结点,称为头结点,其数据域为空,指针域存储第一个结点位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值