线性表(一)

线性结构的特点:

                             线性结构是最简单、最直接的数据关系,数据元素之间一一对应。

线性表

           定义:由n个类型相同数据元素的有限序列(n是线性表的长度)。

                      n=0,空表。

                      n>0,除第一个元素无直接前驱,最后一个元素无直接后继外,其余每个数据有且仅有一个直接前驱和一个直接后继。

          抽象数据类型三要素和作用

                                                      三要素:数据元素,结构关系,基本操作

                                                                    基本操作(运算集合):初始化,销毁,置空,判空,求长度,查找,存取,插入,删除

                                                      作用:一经定义,就可多次使用,其基本运算适用于进行相关的各种需求。

          特点:

                   同一性:每一个数据元素必须属于同一数据对象(数据类型相同)

                   有穷性:由有限个数据元素组成,表中数据元素的个数就是表的长度

                   有序性:相邻数据元素之间存在序偶关系

           存储结构:顺序存储,链式存储。

                          顺序存储:用一组地址连续的存储单元依次存储线性表中的各个元素(逻辑上相邻的数据元素在物理上也相邻)

                                           即“结点顺序存,关系顺序化”

                                         顺序存储结构的基本运算:查找操作,插入操作,删除操作,顺序表合并算法

                                                                                  (1)查找操作:按序号查找(第i个数据元素)和按内容查找(与给定值相等的元素)。(按序号查找给出序号随机存取,按内容查找从头到尾顺序比较,找到元素后返回元素的位置,循环条件是“还没找完且还没找到”)

                                                                                  (2)插入操作:定位(定位到第i个元素位置,即要插入元素的位置),移动(从第i个到表尾都向后移一位),插入(在位置i-1出插入元素)

                                                                                     注:线性表插入、删除平均移动次数为表长度的一半。

                                                                                  (3)顺序表合并算法:初始化,比较循环(两个表中的元素按顺序比较,谁小谁先放入结果表中),复制循环(一个表已经放完,还没放完的表的剩下部分复制到结果表中)

                                                                                  (4)顺序存储优点:无需为表示结点间的逻辑关系而增加额外的储存空间;可方便地随机存取查找表中的任一元素

                                                                                  (5)顺序存储缺点:插入删除效率低,除表尾位置外,在其他位置插入删除都必须移动大量元素;由于顺序表要求占用连续的存储空间,存储分配只能预先进行静态分配,因此当表长变化较大时,难以确定合适的存储规模。

                                                                                  (6)顺序存储特点:随机查找速度快,大量插入删除效率低(便于顺序存取,不适合动态变化)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值