线性表可用顺序表或链表存储。试问:两种存储表示各有哪些主要优缺点?
改卷建议:只需答出要点即可得分,不用这么详细,我的答案仅供参考。【解答】顺序存储表示是将数据元素存放于一个连续的存储空间中,实现顺序存取或(按下标)直接存取。它的存储效率高,存取速度快。但它的空间大小一经定义,在程序整个运行期间不会发生改变,因此,不易扩充。同时,由于在插入或删除时,为保持原有次序,平均需要移动一半(或近一半)元素,修改效率不高。 链接存储表示的存储空间一般在程序的运行过程中动态分配和释放,且只要存储器中还有空间,就不会产生存储溢出的问题。同时在插入和删除时不需要保持数据元素原来的物理顺序,只需要保持原来的逻辑顺序,因此不必移动数据,只需修改它们的链接指针,修改效率较高。但存取表中的数据元素时,只能循链顺序访问,因此存取效率不高。
举一反三
内容
- 0
适合折半查找的数据是( )。 A: 以链表存储的线性表 B: 以顺序表存储的线性表 C: 以链表存储的有序线性表 D: 以顺序表存储的有序线性表
- 1
线性表有顺序存储和链式存储两种存储结构。在顺序表中,线性表的长度在定义数组时就已经确定,是()保存;在链式表中,整个链表由“头指针”来表示,单链表的长度是()保存。
- 2
顺序表和线性链表的物理存储形式都是顺序存储
- 3
线性表的顺序存储结构和链式存储结构分别称为()。 A: 顺序表和链表 B: 顺序表和栈 C: 顺序表和集合表 D: 链表和图表
- 4
线性表的顺序存储结构称为() A: 链表 B: 集合表 C: 顺序表 D: 树表