线性表有两种存储结构:一是顺序表,二是链表。试问: (1)如果有 n个线性表同时并存,并且在处理过程中各表的长度会动态变化,线性表的总数也会自动地改变。在此情况下,应选用哪种存储结构? 为什么? (2)若线性表的总数基本稳定,且很少进行插入和删除,但要求以最快的速度存取线性表中的元素,那么应采用哪种存储结构?为什么?
答: (1)选链式存储结构。它可动态申请内存空间,不受表长度(即表中元素个数)的影响,插入、删除时间复杂度为O(1)。 (2)选顺序存储结构。顺序表可以随机存取,时间复杂度为O(1)。
举一反三
- 请说明顺序表和单链表各有何优缺点,并分析下列情况下,采用何种存储结构更合适。 ⑴ 若线性表的总长度基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素。 ⑵ 如果n个线性表同时并存,并且在处理过程中各表的长度会动态发生变化。 ⑶ 描述一个城市的设计和规划
- 关于线性表、顺序表和链表的关系,以下描述正确的是( )。 A: 线性表是一种抽象数据类型;顺序表是线性表的顺序存储结构,链表是线性表的非顺序存储结构。 B: 线性表、顺序表和链表是不同的线性结构。 C: 线性表和链表中的元素是无序的;顺序表中的元素是有序的。 D: 线性表和顺序表中的元素个数有限;链表中可以存储无限多元素。
- 若经常需要对线性表进行插入和删除操作,则最好采用存储结构,若线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素,则最好采用存储结构。
- 当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用(__)存储结构
- 广义表是线性表的推广,所以是一种线性结构,可以用顺序存储结构来存储( )
内容
- 0
下面描述线性表的链式存储结构错误的是______。 A: 线性表顺序存储 B: 线性表随机存储 C: 线性表的链式存储结构也称为线性链表 D: 线性表的链式存储结构只能顺序存取
- 1
当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用( )存储结构。 A: 顺序 B: 链式 C: 索引 D: 散列
- 2
若长度为n的线性表采用顺序存储结构,删除表的第i个元素之前需要移动表中n-i+1个元素。
- 3
顺序表是线性表的一种顺序存储结构,采用_________存放线性表中的元素及其关系。
- 4
线性表有两种存储结构,分别是顺序表和链表。试问:两种存储结构各有哪些主要优缺点?