数据结构——线性表相关重要知识点说明

数据结构——线性表相关重要知识点说明

1.引用类型作形参的三点说明:

(1)传递引用给函数与传递指针的效果是一样的,形参变化实参也发生变化。
(2)引用类型作形参,在内存中并没有产生实参的副本,它直接对实参操作;而- -般变量作参数,形参与实参就占用不同的存储单元,所以形参变量的值是实参变量的副本。因此,当参数传递的数据量较大时,用引用比用一般变量传递参数的时间和空间效率都好。
(3)指针参数虽然也能达到与使用引用的效果,但在被调函数中需要重复使用“*指针”变量名”的形式进行运算,这很容易产生错误且程序的阅读性较差;另一方面, 在主调函数的调用点处,必须用变量的地址作为实参。

2.顺序表(顺序存储结构)的特点

(1)利用数据元素的存储位置表示线性表中相邻数据元素之间的前后关系,即线性表的逻辑结构与存储结构一致
(2)在访问线性表时,可以快速地计算出任何一个数据元素的存储地址。因此可以粗略地认为,访问每个元素所花时间相等这种存取元素的方法被称为随机存取法

3. 顺序表的优缺点

优点:
✔存储密度大(结点本身所占存储量/结点结构所占存储量)
✔可以随机存取表中任一元素
缺点:
✔在插入、删除某一元素时,需要移动大量元素
✔浪费存储空间属于静态存储形式,数据元素的个数不能自由扩充

为克服这一缺点→链表

4.链式存储结构

结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理.上不一定相邻
线性表的链式表示又称为非顺序映像或链式映像。

5.与链式存储有关的术语

1)、结点:数据元素的存储映像。由数据域和指针域两部分组成
2)、链表:n个结点由指针链组成一个链表。它是线性表的链式存储映像,称为
线性表的链式存储结构
3)、单链表、双链表、循环链表:
结点只有一个指针域的链表,称为单链表或线性链表
有两个指针域的链表,称为双链表
首尾相接的链表称为循环链表
4)、头指针、头结点和首元结点
头指针是指向链表中第一个结点的指针
首元结点是指链表中存储第一个数据元素a的结点
头结点是在链表的首元结点之前附设的一个结点,数据域内只放空表标志和表长等信息

6.在链表中设置头结点有什么好处?

1)便于首元结点的处理
首元结点的地址保存在头结点的指针域中,所以在链表的第一个位置上的操作和其它位置一致, 无须进行特殊处理;
2便于空表和非空表的统一处理,无论链表是否为空,头指针都是指向头结
点的非空指针,因此空表和非空表的处理也就统一了。

7.头结点的数据域内装的是什么?

头结点的数据域可以为空,也可存放线性表长度等附加信息,但此结点不能计入链表长度值。

8.链表(链式存储结构) 的特点

(1)结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不-一定相邻
(2)访问时只能通过头指针进入链表,并通过每个结点的指针域向后扫描其余结点,所以寻找第一个结点和最后一个结点所花费的时间不等这种存取元素的方法被称为顺序存取法

9.链表的优缺点

优点
数据元素的个数可以自由扩充
插入,删除等操作不必移动数据,只需修改链接指针,修改效率较高
缺点
存储密度小
存取效率不高,必须采用顺序存取,即存取数据元素时,只能按链表的顺序进行访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值