一、请问你对线性表的定义有什么理解?
答:线性表是n个元素的有限序列。存在唯一的一个“第一个”和“最后一个”的元素。除表头外,每个元素只有唯一的直接前驱;除表尾外,每个元素只有一个唯一的直接后驱。
二、请你谈一下线性表有哪些存储结构?
答:①顺序存储:是用一组地址连续的存储单元依次存储线性表中的数据元素。
优点:可以随机存储表中的元素。
缺点:插入和删除操作需要移动大量的元素。
在线性表的顺序存储结构中,第i个元素ai的存储位置为LOC(ai)=LOC(a1)+(i-1)*L。
LOC(a1)是表中第一个元素的存储位置;L是表中每个元素所占空间的大小。
②链式存储:是指用节点来存储数据元素,节点的空间可以是连续的,也可以是不连续的,因此存储数据元素的同时必须存储元素之间的逻辑关系。最基本的节点结构包括数据域和指针域。数据域用于存储数据元素的值。指针域用于存储当前元素的直接前驱或直接后驱信息。常用的链表结构有双向链表,循环链表和静态链表。
优点:插入和删除操作不许需要移动元素;
缺点:不能进行数据元素的随机访问。
三、请阐述一下线性表的插入和删除运算?
答:①基于顺序存储结构的运算。在等概率下平均移动元素的次数分别为:插入-n/2;删除-(n-1)/2.
②基于链式存储结构的运算。其实质都是对相关指针的修改。
来源:CSDN
作者:婷婷周
链接:https://blog.csdn.net/qq_41629684/article/details/104172007