第二章 线性表概述

线性表概念:

  • n个数据类型相同元素的有限序列。

特点

  • 1.相同的数据类型:

    原因:相同的数据类型在内存中占用相同的内存空间,以便于后续的查询定位。

  • 2.序列(顺序性)

    在线性表中相邻的元素之间存在着顺序关系

    唯一没有直接前继的元素为a[0] ,称为表头

    唯一没有直接后继的元素为a[n-1],称为表尾

    a[i]是 a[i+1]的直接前继

    a[i+1] 是a[i]的直接后继

  • 3.有限

    线性表中的数据元素的个数n 定义为线性表的长度,n是一个有限的值。

    n = 0; 线性表为空表

顺序表

  • 特点:在内存中分配连续的空间,只存储数据,不需要存储地址信息,位置隐含了地址信息

  • 优点:

    1.节省内存空间,因为分配的内存单元用来存放数据,节点之间的数据没有占用额外的空间。

    2.索引查找效率高,每个节点对应一个序号,由序号可以直接计算出节点的内存地址(首地址+序号*数据类型占用空间)

  • 缺点:

    1.插入和删除操作需要移动元素,效率低(插入和删除时间复杂度都是O(n))

    2.必须提前分配固定数量的空间,如果元素少,可能导致空间的浪费

    3.按照内容查找效率低,因为要逐个比较判断。

链表-链式存储结构

  • 特点:数据元素的存储对应的是不连续的存储空间,每个存储节点对应一个需要存储的数据元素。

每个节点都是由数据和指针组成,每个数据的关系都是通过存储节点之间的关系反映出来,逻辑上相邻的节点物理结构上可以不相邻。

  • 缺点:

    1.比顺序存储结构的存储密度小(包含指针域)

    2.查找节点时链式结构要比顺序结构慢(节点不连续)

  • 优点:

    1.插入删除灵活(不必移动节点,只要改变节点中的指针)

    2.有元素才会分配节点空间,不会由闲置的节点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值