数据结构相关题库及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章栈和队列
一、判断题:
1、栈和队列都是限制存取点的线性结构(易)
2、栈和队列是两种重要的线性结构。(易)
3、带头结点的单链表形式的队列,头指针F指向队列的头结点,尾指针R指向队列的最后一个结点(易)
4、在对不带头结点的链队列作出队操作时,不会改变头指针的值。(易)
答案:1-4 √√××
二、选择题:
1、一个栈的入栈序列a,b,c,d,e,则栈的不可能的输出序列是C____。 A、 edcba B、 decba
C、 dceab
D、 abcde
2、若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi
为_C___。
A、 i
B、 n=i
C、 n-i+1
D、不确定
3、栈结构通常采用的两种存储结构是_A___。
A、顺序存储结构和链式存储结构
B、散列方式和索引方式
C、链表存储结构和数组
D、线性存储结构和非线性存储结构
4、判定一个顺序栈ST(最多元素为m0)为空的条件是_B___。A、top !=0 B、top= =0 C、top !=m0
D、top= =m0-1
5、判定一个顺序栈ST(最多元素为m0)为栈满的条件是D。A、top!=0 B、top= =0 C、top!=m0 D、top= =m0-1
6、队列操作的原则是( A ) A、先进先出 B、后进先出 C、只能进行插入 D、只能进行删
除
7、向一个栈顶指针为HS的链栈中插入一个s所指结点时,则执行__ _C_。(不带空的头结点) (易)
A、HS—>next=s;9
B、s—>next= HS—>next; HS—>next=s;
C、s—>next= HS; HS=s;
D、s—>next= HS; HS= HS—>next
8、从一个栈顶指针为HS的链栈中删除一个结点时,用x保存被删结点的值,则执行__ _B_。(不带空的头结点) (中)
A、x=HS; HS= HS—>next;
B、x=HS—>data;
C、HS= HS—>next; x=HS—>data;
D、x=HS—>data; HS= HS—>next;
9、一个队列的数据入列序列是1,2,3,4,则队列的出队时输出序列是___C_ 。(易)
A、4,3,2,1
B、1,2,3,4
C、1,4,3,2
D、3,2,4,1
10、判定一个循环队列QU(最多元素为m)为空的条件是__C__。(中)
A、rear - front= =m
B、rear-front-1= =m
C、front= = rear
D、front= = rear+1
11、判定一个循环队列QU(最多元素为m, m= =Maxsize-1)为满队列的条件是___A_。(易)
A、((rear- front)+ Maxsize)% Maxsize = =m
B、rear-front-1= =m
C、front= =rear
D、front= = rear+1
12、循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front 和rear,则当前队列中的元素个数是_A。(中)
A、 (rear-front+m)%m
B、 rear-front+1
C、 rear-front-1
D、 rear-front
13、栈和队列的共同点是__C__。A、都是先进后出 B、都是先进先出C、只允许在端点处插入和删除元素 D、没有共同点
14、栈操作的原则是( B ) (易)
A、先进先出
B、后进先出
C、只能进行插入
D、只能进行删除
15、在顺序栈中,判断栈s为空的条件是( D) (中)
A、t.base == NULL
B、st.top == st.stacksize
C、st.top-st.base>=st.stacksize
D、st.top == st.base
16、在顺序栈中,判断栈s满的条件是( C ) (易)
A、 st.base == NULL
B、 st.top == st.stacksize
C、 st.top-st.base>=st.stacksize
D、 st.top == st.base
三、填空题:
1、栈和队列都是____结构,对于栈只能在____插入和删除元素;对于队列只能在____插入元素和____删除元素。(易) 线性、栈顶、队尾、队首
2、向一个长度为n的顺序表的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动__N-I+1__个元素。(易)
3、向一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动
__N-1__个元素。(易)
4、向栈中压入元素的操作是先移动栈顶指针,后存入元素
5、对栈进行退栈时的操作是____。(易) 先取出元素,后移动栈顶指针
6、在一个循环队列中,队首指针指向队首元素的__前一个位置__。(易)
7、从循环队列中删除一个元素时,其操作是__先移动队首元素,后取出元素__。(易)
8、在具有n个单元的循环队列中,队满时共有__N-1__个元素。(易)
9、一个栈的输入序列是12345,则栈的输出序列43512是__不可能__。(易)
10、一个栈的输入序列是12345,则栈的输出序列12345是_可能___。(易)
11、队列的基本性质是FIFO_______;栈的基本性质是_________。(易)
12、在一个链栈中,若栈顶指针等于NULL则为_______________,在一个链队中,若队首指针与队尾指针的值相同,则表示该队列为____________或该队列______________。(易) 栈空空队只有一个元素
13、向一个栈顶指针为top的链栈中插入一个新结点*P,应执行和p->next=top top=p 操作。(易)
14、栈的顺序存储结构即顺序栈,是利用来依次存放自栈底至栈顶的数据元素;当栈为非空时,栈顶指针top始终指向栈顶元素的下一位置。
15、从数据结构的角度看,栈和队列是受限的线性表
两类线性表。(易)
1、空串是由空白字符组成的串(易)
2、串的定长顺序结构是用一组地址连续的存储单元存储串值的字符序列,按照预定义的大小,为每个定义的串变量分配一个固定长度的存储区。(易)
3、串的堆分配存储表示是用一组地址连续的存储单元存储串值的字符序列,但它们的存储空间是在程序执行过程中动态分配得到的。(易)
4、如果一个串中的所有字符均在另一串中出现,那么则说明前者是后者的子串。(易)
5、串是由有限个字符构成的连续序列,串长度为串中字符的个数,子串是主串中字符构成的有限序列。(易)
6、广义表的表头一定是列表。(易)
7、广义表的表尾一定是列表。(易)
8、空串的长度为零。(易)
9、广义表的元素即可以是原子,也可以是子表。(易)
10、广义表中的子表与串中的子串的含义一样。(易)
11、广义表A=(),为空表,其长度为0。(易)
12、由于广义表的元素可以是列表,所以可以将广义表转化为一个树型结构