当前位置:文档之家› 中国石油大学(华东)软件技术基础复习题

中国石油大学(华东)软件技术基础复习题

线性表的习题1.下述哪一条是顺序存储结构的优点? CA.插入运算方便B.可方便地用于各种逻辑结构的存储表示C.存储密度大D.删除运算方便2.下面关于线性表的叙述中,错误的是:BA.线性表采用顺序存储,必须占用一片连续的存储单元B.线性表采用顺序存储,便于进行插入和删除操作C.线性表采用链式存储,不必占用一片连续的存储单元D.线性表采用链式存储,便于插入和删除操作。

3.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用_______存储方式最节省运算时间。

DA.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表4.链表不具有的特点是:BA.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性长度成正比5.在n个节点的线性表的数组实现中,算法的时间复杂度是O(1) 的操作是:AA.访问第i个结点和求第i个结点的直接前驱B.在第i个节点后插入一个新节点 O(n)C.删除第i个节点 O(n)D.以上都不对6.在一个以h为头的单循环链表中,p指针指向链尾的条件是:AA.p->next==hB.p->next==nullC.p->next->next==hD.p->data==-17.在非空双向循环链表中q所指的结点前插入一个由p所指的链结点的过程依次为:rlink(p)←q; llink(p)←llink(q);llink(q)←p;___________A.rlink(q)←p;B.rlink(llink(q))←p;C.rlink(llink(p))←p;D.rlink(rlink(p)) p;8.在双向链表指针p的结点前插入一个指针q的结点的操作是:A. p->llink=q; q->rlink=p; p->llink->rlink=q; q->llink=q;B.p->llink=q;p->llink->rlink=q; q->rlink=p;q->llink=p->llink;C.q->rlink=p;q->llink=p->llink;p->llink->rlink=q;p->llink=q;D.q->llink=p->llink;q->rlink=q;p->llink=q;p->llink=q;9.在双向链表存储结构中,删除p所指的结点时需要修改指针_______。

A. p->llink->rlink=p->rlink; p->rlink->llink=p->llink;B. p->llink=p->llink->llink; p->llink->rlink=p;C. p->rlink->llink=p; p->rlink=p->rlink->rlink;D. p->rlink=p->llink->llink; p->llink=p->rlink->rlink;填空题1.在单链表中设置头结点的作用________________。

2.链表存储的特点是利用__指针______来表示数据元素之间的逻辑关系;顺序存储的线性表示用__数组_____来表示数据元素之间的逻辑关系。

3.循环单链表的最大优点是________________。

4.带头结点的双循环链表L为空表的条件是___________。

L->rlink==L && L->llink==L5.带头结点的双向循环链表L中含有一个结点的条件是:__________________。

6.线性表L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是______。

(n-1)/27.在一个长度为n的顺序表中第i个元素之前插入一个元素时,需要向后移动________个元素。

n-i+1栈和队列的习题2.8 设栈S 和队列Q 的初始状态为空,元素e1,e2,e3,e4,e5,e6依次通过栈S ,一个元素出站后即进入队列Q ,若出队的顺序为e2,e4,e3,e6,e5,e1,则栈S 的容量至少应该为多少?解:栈S 的容量至少应该为3。

2.9 写出计算循环链表长度的算法。

解:设置一个变量len=0;循环编列循环链表,直到链表结束,len++。

2.5 设循环队列的容量为70(序号1-70),现经过一系列的入队与退队运算后,有: (1) front=14,rear=21 (2) front=23,rear=12问在这两种情况下,循环队列中各有多少个元素? 解:(1)元素个数=21-14=7 (2)元素个数=12+70-23=592.6 试用图表示在表达式A*(B-D)/T+C**(E*F)执行过程中运算符栈和操作数栈的变化情况。

运算符栈操作数栈运算符栈操作数栈2.20 设树T 的度为4,其中度为1,2,3,4的结点个数分别为4,3,2,1。

问T 中有多少个叶子结点?解:设叶子结点个数为x 个。

结点个数=度的总和+1 X+4+3+2+1=(1*4+2*3+3*2+4*1)+1=21 解方程得:x=112.21 已知某二叉树的前序序列为DBACFEG ,中序序列为ABCDEFG 。

请画出该二叉树,并写出二叉树的后序序列。

后序序列为:ACBEGFD运算符栈操作数栈 运算符栈操作数栈栈和队列1.对于栈操作数据的原则是___________。

A. 先进先出B. 后进先出C. 后进后出D. 不分顺序2.一个栈的输入序列为1,2,3,...,n,若输出序列的第一个元素是n,输出第i 个元素是____________。

A. 不确定B. n-i+1C. iD. n-i3.设栈的输入序列为1,2,…,n;输出序列为p1,p2,…,pn;若p1=n则当n>=i>=1时,pi为________;若存在k>1使pk=n,则当i>k时,pi为_______。

A. pi=n-i+1;B. pi不确定C. pi=n-(i-k);4.设栈的输入序列是1,2,3,4,则_______不可能是其出栈序列。

A. 1,2,4,3B. 2,1,3,4C. 1,4,3,2D. 4,3,1,2E. 3,2,1,45.如入栈序列为1,2,3,4,5,则可能得到的出栈序列为____。

A. 1,2,5,3,4B. 3,1,2,5,4C. 3,2,5,4,1D. 1,4,2,3,5E. 都不可能6.向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行________。

A. h->next=s;B. s->next=h;C. s->next=h; h->next=s;D. s->next=h->next; h->next=s;7.某堆栈的输入序列为a,b,c,d,下面的四个序列中,不可能是它的输出序列的是__________。

A. a,c,b,dB. b,c,d,aC. c,d,b,aD. d,c,a,b8.一个栈的入栈序列为A,B,C,D,E,则栈的不可能的出栈序列是__________。

A. ABCDEB. EDCBAC. DECBAD. DCEAB9.若一个栈以向量V[1..n]存储,初始栈顶指针top为n+1,则下面x入栈的正确操作是___________。

A. top:=top+1; v[top]:=x;B. V[top]:=x; top:=top+1;C. top:=top-1; V[top]:=x;D. V[top]:=x; top:=top-1;10.若栈采用顺序存储方式存储,现两栈共享空间V[1..m],top[i]代表第i个栈(i=1,2)栈顶,栈1的底在v[1],栈2的底在v[m],则栈满的条件是_________。

A. top[2]-top[1]==0B. top[1]+1==top[2]C. top[1]+top[2]==mD. top[1]==top[2]11. 栈在______中应用。

A. 递归调用B. 子程序调用C. 表达式求值D. A,B,C12.最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是__________。

A. (rear+1) MOD n==frontB. rear==frontC. rear+1==frontD. (rear-1) MOD n==front填空题1.区分循环队列的满与空,只有两种方法,他们是___________和_____________。

2.在循环队列中,队列长度为n,存储位置从0到n-1编号,以rear指示实际的队尾元素,现要在此队列中插入一个新元素,新元素的位置是____________。

rear=(rear+1) mod n3.设a=6,b=4,c=2,d=3,e=2,则后缀表达式abc-/de*+的值为___________。

9 4.表达式3*2^(4+2*2-6*3)-5求值过程中,当扫描到6时,对象栈和运算符栈分别为:_____________和______________。

3,2,8; ;*^(-树的习题1.已知一算术表达式的中缀表达式为a-(b+c/d)*e ,其后缀表达式为()。

A. –a+b*c/d B. –a+b*cd/e C. -+*abc/de D. abcd/+e*-2.算术表达式a+b*(c+d/e)转换为后缀表达式后为()。

A. ab+cde/*B. abcde/+*+C. abcde/*++D. abcde*/++3.每个结点的度或者为0或者为2的二叉树称为正则二叉树。

n 个结点的正则二叉树中有()个叶子。

A. ⎡⎤n 2log B.21-n C. ⎡⎤)1(log 2+n D. 21+n 4.设树T 的度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1,则T 中的叶子个数为()。

A. 5B. 6C. 7D. 8 5.在下述结论中,正确的是()。

① 只有一个结点的二叉树的度为0; ② 二叉树的度为2;③ 二叉树的左右子树可以任意交换;④ 深度为K 的完全二叉树的结点个数小于或等于深度相同的满二叉树。

A. ①②③ B. ②③④ C. ②④ D. ①④6.设森林F 对应的二叉树为B ,它有m 个结点,B 的根为p ,p 的右子树结点个数为n ,森林F 中第一棵树的结点个数是()。

A. m-nB. m-n-1C. n+1D. 条件不足,无法确定 7.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()。

相关主题