栈的概念及运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 栈的概念及运算
栈的定义:栈是一种特殊的表这种表只在表头进行插入和删除操作。因此,表头对于栈来说具有特殊的意义,称为栈顶。相应地,表尾称为栈底。不含任何元素的栈称为空栈。
特点:后进先出
例:某车站呈狭长形,宽度只能容下一台车,并且只有一个出入口。已知某时该车站站台为空,从这一时刻开始出入记录为:“进出进进出进进进出出进出”。假设车辆入站的顺序为1,2,3……,则车辆出站的顺序为()
A、1,2,3,4,5
B、1,2,4,5,7
C、1,3,5,4,6
D、1,3,5,6,7
E、1,3,6,5,7
1、设栈S的初始状态为空,元素a,b,c,d,e,f,g依次入栈,以下出栈序列不可能出现的是()。
A.a,b,c,e,d,f,g
B.b,c,a,f,e,g,d
C.a,e,d,c,b,f,g
D.d,c,f,e,b,a,g
E.g,e,f,d,c,b,a
2、地面上有标号为A、B、C的三根柱,在A柱上放有10个直径相同中间有孔的圆盘,从上
到下依次编号为1,2,3……,将A柱上的部分盘子经过B柱移入C柱,也可以在B柱上暂
存。如果B柱上的操作记录为“进、进、出、进、进、出、出、进、进、出、进、出、出”。
那么,在C柱上,从下到上的编号为()。
A.2 4 3 6 5 7 B.2 4 1 2 5 7 C.2 4 3 1 7 6 D.2 4 3 6 7 5
队列的概念及运算
队列的定义:
队列是一种特殊的线性表,对这种线性表,删除操作只在表头(称为队头)进行,插入操作只在表尾(称为队尾)进行。队列的修改是按先进先出的原则进行的
例:已知队列(13,2,11,34,41,77,5,7,18,26,15),第一个进入队列的元素是13,则第五个出队列的元素是( )。
A)5 B)41 C)77 D) 13 E)18
树的概念
树的递归定义如下:(1)至少有一个结点(称为根)(2)其它是互不相交的子树
1.树的度——也即是宽度,简单地说,就是结点的分支数。以组成该树各结点中最大的度作为该树的度,如上图的树,其度为3
2.树的深度——组成该树各结点的最大层次,如上图,其深度为4;
3.森林——指若干棵互不相交的树的集合,如上图,去掉根结点A,其原来的二棵子树T1、T2、T3的集合{T1,T2,T3}就为森林
二叉树
1.二叉树的基本形态:
二叉树也是递归定义的,其结点有左右子树之分,逻辑上二叉树有五种基本形态:
(1)空二叉树——(a);
(2)只有一个根结点的二叉树——(b);
(3)右子树为空的二叉树——(c);
(4)左子树为空的二叉树——(d);
(5)完全二叉树——(e)
两个重要的概念:
(1)完全二叉树——只有最下面的两层结点度小于2,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树;
(2)满二叉树——除了叶结点外每一个结点都有左右子女且叶结点都处在最底层的二叉树,。
如下图:
完全二叉树满二叉树
3.二叉树的性质
在二叉树中,第i层的结点总数不超过2(i-1);深度为h的二叉树最多有2h-1个结点(h>=1),最少有h个结点;
二叉树的遍历运算
(1)先序遍历:根左右 (2)中序遍历:左根右 (3)后序遍历:左右根
1)一个高度为h的二叉树最小元素数目是( )。 A)2h+l B)h C)2h-1 D)2h E)2h-l
2)二叉树T,已知其前序遍历序列为1 2 4 3 5 7 6,中序遍历序列为4 2 1 5 7 3 6,其
后序遍历序列为
A、4 2 5 7 6 3 1
B、4 2 7 5 6 3 1
C、4 2 7 5 3 6 1
D、4 7 2 3 5 6 1
E、4 5 2 6 3 7 1
3)满二叉树的叶节点为N,则它的节点总数为()
A、N
B、2N
C、2N-1
D、2N+1
E、2^N-1
4)二叉树T的宽度优先遍历序列为A B C D E F G H I,已知A是C的父交点,D是G的父
交点,F是I的父交点,数中所有结点的最大深度为3,(根结点深度设为0),可知F的父结
点是()。 A.无法确定 B. B C. C D.D E.E
5)已知7个节点的二叉树的先根遍历是1 2 4 5 6 3 7(数字为节点的编号,以下同),中
根遍历是4 2 6 5 1 7 3,则该二叉树的后根遍历是()。
A.4 6 5 2 7 3 1 B.4 6 5 2 1 3 7 C.4 2 3 1 5 4 7 D.4 6 5 3 1 7 2
6)已知6个结点的二叉树的先根遍历是1 2 3 4 5 6(数字为结点的编号,以下同),后根
遍历是3 2 5 6 4 1,则该二叉树的可能的中根遍历是()
A. 3 2 1 4 6 5
B. 3 2 1 5 4 6
C. 2 1 3 5 4 6
D. 2 3 1 4 6 5
7)完全二叉树共有2*N-1个结点,则它的叶节点数是()。
A.N-1 B.N C.2*N D.2N-1
8)二叉树T,已知其先根遍历是1 2 4 3 5 7 6(数字为节点的编号,下同),中根遍历2 4
1 5 7 3 6,则该二叉树的后根遍历是()。
A.4 2 5 7 6 3 1 B.4 2 7 5 6 3 1 C.7 4 2 5 6 3 1 D.4 2 7 6 5 3 1
9、假设A=true,B=false,C=true,D=true,逻辑运算表达式A∧B∨C∧D的值是( )。
A)true B)false C)0 D)1 E)NULL
10、设A=true,B=false,C=false,D=true,以下逻辑运算表达式值为真的是()。
A.(A∧B)∨(C∧D)
B.((A∧B)∨C)∧D
C.A∧((B∨C)∧D)
D.(A∧(B∨C))∨D
E.(A∨B)∧(C∧D)
11、设A=B=D=true,C=false,以下逻辑运算表达式值为真的有()。
A. (A∧B)∨(C∧D)
B. ((A∨B∨D)∧C)
C. A∧(B∨C∨D)
D. (A∧B∧C)∨ D
12、在Pascal语言中,判断整数a等于0或b等于0或c等于0的正确的条件表达式是()。