这是我参与8月更文挑战的第3天,活动详情查看:8月更文挑战
考研数据结构栈和队列408大纲及核心考点总结(1)
考纲分析
408与各自命题本章大纲内容基本相同 【考查范围】
- (一)栈和队列的基本概念
- (二)栈和队列的顺序存储结构
- (三)栈和队列的链式存储结构
- (四)栈和队列的应用
高频考点1 一对出入过程的深入理解
【2017年重庆邮电大学】若栈的输入序列为1, 2, 3,……,n,输出序列的第一个元素为n,则第2个输出的元素为 A. 1 B. n-1 C. n D.都有可能
【2017年杭州电子科技大学】一个栈的输入序列为1, 2, 3,……,n,输出序列的第一个元素为n,则第i个输出的元素为 A.不确定 B. n-i+1 C. i D. n-i 【2013年计算机统考408】一个栈的入栈序列为1,2, 3,…,n,其出栈序列是p1,p2, p3, pn。若p2为 3,则p3可能取值的个数是 A. n-3 B. n-2 C. n-1 D.无法确定
高频考点2—循环队列
不同题目对于循环队列的定义在细节上有所不同,如果题目没有描述,则一般认为是以下循环队列:
- 1.初始:rear=front=0;
- 2.尾进头出,rear永远指向队尾元素的后一位;
- 3.牺牲一个空间来区分判空和判满。 往往围绕以下几点命题:
- 一、判空和判满
- 二、入队和出队
- 三、队列元素个数
- 四、front和rear指针的位置判断
一、判空和判满
【2014年计算机统考408】循环队列放在一维数组A[0…M7]中, end1指向队头元素,end2指向队尾元素的后一个位置。假设队列 两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。 初始时为空。下列判断队空和队满的条件中,正确的是()。
- A.队空:end1==end2;队满:end1 == (end2+1) mod M
- B.队空:end1==end2;队满:end2==(end1+1)mod (M-1)
- C.队空:end2== (end1 +1)mod M;队满:end1 == (end2+1)mod M
- D.队空:end1==(end2+1)mod M;队满:end2==(end1+1)mod (M-1)
【2019年暨南大学】对于一个循环队列队头、队尾指针分别为f、r,其判空的条件是( ),判满的条件是( )。
二、入队和出队
【2016年南京邮电大学】循环队列存储在 数组A[0..m],则入队时的操作为()。
- A. rear= rear+1
- B.rear= (rear+1) mod (m-1 )
- C.rear= (rear+1) mod m
- D. rear= (rear+1) mod (m+1)
三、队列元素个数
【2017年暨南大学】循环队列用数组存 放其元素值,已知其头尾指针分别是front和 rear,则当前队列中的元素个数是()。
- A. (rear-front+m)%m
- B. rear-front+1
- C. rear-front-1
- D. rear-front