下面关于栈和队列的叙述中,错误的是()。
A.栈和队列都是操作受限的线性表B.队列采用单循环链表存储时,只需设置队尾指针就可使入队和出队操作的时间复杂度都为O(1)C.若队列的数据规模n可以确定,则采用顺序存储结...
A.栈和队列都是操作受限的线性表
B.队列采用单循环链表存储时,只需设置队尾指针就可使入队和出队操作的时间复杂度都为O(1)
C.若队列的数据规模n可以确定,则采用顺序存储结构比链式存储结构效率更高
D.利用两个栈可以模拟一个队列的操作,反之亦可 展开
B.队列采用单循环链表存储时,只需设置队尾指针就可使入队和出队操作的时间复杂度都为O(1)
C.若队列的数据规模n可以确定,则采用顺序存储结构比链式存储结构效率更高
D.利用两个栈可以模拟一个队列的操作,反之亦可 展开
1个回答
展开全部
【答案】:D
栈和队列都是操作受限的线性表:栈仅在表尾插入和删除元素;队列仅在表头删除元素、在表尾插入元素。采用单循环链表表示队列的示意图如下图所示:
①入队时,新元素在an之后,若新元素节点指针为s,则在一般情况下入队操作序列表示为s-小于next=rear-小于next;rear-小于next=s;rear=s;。②出队时,将队头元素a,从队列中删除,一般情况下出队操作序列表示为:q=rear-小于next;//q指向队头元素所在节点rear-小于next=q-小于next;free(q);入队时初始队列为空、出队后队列变为空要进行特殊处理。入队操作和出队操作均与队列长度无关,因此其时间复杂度都为O(1)。队列是先入先出的线性表,栈是后进先出的线性表。一个线性序列经过队列结构后只能得到与原序列相同的元素序列,而经过一个栈结构后则可以得到多种元素序列。用两个栈可以模拟一个队列的入队和出队操作。
栈和队列都是操作受限的线性表:栈仅在表尾插入和删除元素;队列仅在表头删除元素、在表尾插入元素。采用单循环链表表示队列的示意图如下图所示:
①入队时,新元素在an之后,若新元素节点指针为s,则在一般情况下入队操作序列表示为s-小于next=rear-小于next;rear-小于next=s;rear=s;。②出队时,将队头元素a,从队列中删除,一般情况下出队操作序列表示为:q=rear-小于next;//q指向队头元素所在节点rear-小于next=q-小于next;free(q);入队时初始队列为空、出队后队列变为空要进行特殊处理。入队操作和出队操作均与队列长度无关,因此其时间复杂度都为O(1)。队列是先入先出的线性表,栈是后进先出的线性表。一个线性序列经过队列结构后只能得到与原序列相同的元素序列,而经过一个栈结构后则可以得到多种元素序列。用两个栈可以模拟一个队列的入队和出队操作。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询