线性表

一、什么是顺序存储?

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

这个存储单元中存相同数据类型的数据,可以不存满,但不能超过,可以用一维数组来实现顺序存储结构,即把第一个元素存到数组下标为零的位置中,接着把线性表相邻的元素存储在数组中相邻的位置。

二、顺序存储结构有哪些属性?

 1)存储空间的起始位置:数组data,它的存储位置就是存储空间的存储位置。

2)线性表的最大存储容量:数组长度MaxSize。

3)线性表的当前长度:length。

三、数据长度和线性表长度的区别?

  数组的长度是存放线性表存储空间的长度,存储分配后这个量一般是不变的

  线性表的长度是线性表中数据元素的个数,随着线性表插入和删除操作的进行,这个量是变化的。在任意时刻,线性表的长度应小于或等于数组的长度。

四、怎样计算地址?

  线性表从1开始计数,但数组下标从0开始。故线性表第i个元素存储在下标为i-1的位置

  地址:存储器中每个存储单元的编号

假设某一数据元素占用c个存储单元,那么线性表中第i+1个数据元素的存储位置和第i 个数据元素的存储位置满足下列关系(LOC 表示获得存储位置的函数)

         LOC(ai+1) = LOC(ai) + c,其中i ,i+1都是下标。

所以你第i个数据元素ai的存储位置可以由a1推算出:

         LOC(ai)=LOC(a1)+(i-1)*c.

对每个线性表存入或取出数据,对计算机来说都是相等的时间。

五、如何获取元素?

对线性表顺序存储结构来说,要将线性表L中的第i个位置元素值返回,只需返回数组下标i-1的值返回即可。

六、如何在顺序结构中插入一个元素

1)判断插入位置是否合理,即地址范围是否在数组地址范围内,若不合理,抛出异常。

2)判断线性表长度是否小于数组长度,若不小于,则输出异常或动态增加容量。

3)从最后一个元素开始向前遍历到第i个元素,分别将它们都向后移动一个位置。

4)最后将要插入的元素赋值给第i个元素

5)并且表长加1

七、如何在顺序结构中删除一个元素?

1)首先要判断要删除的位置是否在线性表长度之内,不在,抛出异常

2)取出要删除的元素。

3)从要删除的位置开始遍历到最后一个元素的位置,分别将它们都向前移动一个位置;

4)表长减1。

八、线性表顺序存储结构有何优点?

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

2)可以快速地存取表中任一位置的数据。

九、线性顺序存储结构有何缺点?

1)插入和删除操作需要移动大量元素;

2)当线性表长度变化较大时,难以确定存储空间的容量;

3)造成存储空间的不连续。

十、线性表的时间复杂度?

线性表顺序结构,在存读数据是,不管是哪个位置,时间复杂度都是0(1);而插入或删除时时间复杂度复杂度都是0(n)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值