线性结构

不羁的心 提交于 2020-02-05 15:22:59

一、请问你对线性表的定义有什么理解?

答:线性表是n个元素的有限序列。存在唯一的一个“第一个”和“最后一个”的元素。除表头外,每个元素只有唯一的直接前驱;除表尾外,每个元素只有一个唯一的直接后驱。

二、请你谈一下线性表有哪些存储结构?

答:①顺序存储:是用一组地址连续的存储单元依次存储线性表中的数据元素。

优点:可以随机存储表中的元素。

缺点:插入和删除操作需要移动大量的元素。

在线性表的顺序存储结构中,第i个元素ai的存储位置为LOC(ai)=LOC(a1)+(i-1)*L。

LOC(a1)是表中第一个元素的存储位置;L是表中每个元素所占空间的大小。

②链式存储:是指用节点来存储数据元素,节点的空间可以是连续的,也可以是不连续的,因此存储数据元素的同时必须存储元素之间的逻辑关系。最基本的节点结构包括数据域和指针域。数据域用于存储数据元素的值。指针域用于存储当前元素的直接前驱或直接后驱信息。常用的链表结构有双向链表,循环链表和静态链表。

优点:插入和删除操作不许需要移动元素;

缺点:不能进行数据元素的随机访问。

三、请阐述一下线性表的插入和删除运算?

答:①基于顺序存储结构的运算。在等概率下平均移动元素的次数分别为:插入-n/2;删除-(n-1)/2.

②基于链式存储结构的运算。其实质都是对相关指针的修改。

                        

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!