[渝粤教育] 周口师范学院 数据结构与算法 参考 资料

教育
-数据结构与算法-章节资料考试资料-周口师范学院【】
随堂测验题
1、【单选题】1.算法的时间复杂度取决于( )
A、问题的规模
B、 待处理数据的初态
C、C. A和B
D、A或B
参考资料【 】
2、【单选题】2.一个算法应该是( )。
A、程序
B、问题求解步骤的描述
C、要满足五个基本特性
D、A和C
参考资料【 】
3、【单选题】3.下面关于算法说法错误的是( )
A、算法最终必须由计算机程序实现
B、为解决某问题的算法同为该问题编写的程序含义是相同的
C、算法的可行性是指指令不能有二义性
D、以上几个都是错误的
参考资料【 】
4、【单选题】4.下面说法错误的是( )
A、算法原地工作的含义是指不需要任何额外的辅助空间
B、在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法
C、所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界
D、同一个算法,实现语言的级别越高,执行效率就越低
参考资料【 】
第一章 编程作业
第1章 单元作业
第1章单元测试题
1、【单选题】 数据结构中,与所使用的计算机无关的是数据的 结构
A、存储
B、物理
C、逻辑
D、物理和存储
参考资料【 】
2、【单选题】 算法分析的目的是:
A、找出数据结构的合理性
B、研究算法中的输入和输出的关系
C、分析算法的效率以求改进
D、分析算法的易懂性和文档性
参考资料【 】
3、【单选题】算法分析的两个主要方面是:
A、空间复杂性和时间复杂性
B、正确性和简明性
C、可读性和文档性
D、数据复杂性和程序复杂性
参考资料【 】
4、【单选题】 计算机算法指的是:
A、计算方法
B、排序方法
C、解决问题的有限运算序列
D、调度方法
参考资料【 】
5、【单选题】计算机算法必须具备输入、输出和 等5个特性。
A、可行性、可移植性和可扩充性
B、可行性、确定性和有穷性
C、确定性、有穷性和稳定性
D、易读性、稳定性和安全性
参考资料【 】
6、【单选题】下面关于算法说法错误的是( )【提高题】
A、算法最终必须由计算机程序实现
B、为解决某问题的算法同为该问题编写的程序含义是相同的
C、算法的可行性是指指令不能有二义性
D、其它几个都是错误的
参考资料【 】
7、【单选题】在下面的程序段中,对x的赋值语句的频度为( )[提高题]for( i=1;i for( j=1;j x:=x+1;
A、O(2n)
B、O(n)
C、O(n2)
D、O(log2n)
参考资料【 】
8、【单选题】程序段【提高题】for(i=n-1;i=1;i–)for(j=1;j=i;j–) if( A[j]A[j+1]) A[j]与A[j+1]对换;其中 n为正整数,则最后一行的语句频度在最坏情况下是( )
A、O(n)
B、O(nlogn)
C、O(n3)
D、 O(n2)
参考资料【 】
9、【单选题】连续存储设计时,存储单元的地址( )。【提高题】
A、一定连续
B、一定不连续
C、不一定连续
D、部分连续,部分不连续
参考资料【 】
10、【单选题】计算机算法指的是(1)。【提高题】
A、计算方法
B、排序方法
C、解决问题的步骤序列
D、 调度方法
参考资料【 】
11、【判断题】数据的逻辑结构是指数据的各数据项之间的逻辑关系;
A、正确
B、错误
参考资料【 】
12、【判断题】算法的优劣与算法描述语言无关,但与所用计算机有关。( )
A、正确
B、错误
参考资料【 】
13、【判断题】健壮的算法不会因非法的输入数据而出现莫名其妙的状态。( )
A、正确
B、错误
参考资料【 】
14、【判断题】数据结构的抽象操作的定义与具体实现有关。( )
A、正确
B、错误
参考资料【 】
15、【判断题】数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构. ( )
A、正确
B、错误
参考资料【 】
16、【填空题】 数据结构是一门研究非数值计算的程序设计问题中计算机的 以及它们之间的 和运算等的学科。
A、
参考资料【 】
17、【填空题】数据结构被形式地定义为(D, R),其中D是 的有限集合,R是D上的 有限集合。
A、
参考资料【 】
18、【填空题】数据结构包括数据的 、数据的 和数据的 这三个方面的内容。
A、
参考资料【 】
19、【填空题】 线性结构中元素之间存在 关系,树形结构中元素之间存在 关系,图形结构中元素之间存在 关系。
A、
参考资料【 】
20、【填空题】在线性结构中,第一个结点 前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点 后续结点,其余每个结点有且只有1个后续结点。
A、
参考资料【 】
21、【填空题】一个数据结构在计算机中 称为存储结构
A、
参考资料【 】
22、【填空题】在下面的程序段中,对x的赋值语句的频度为______. for(i=1;i  for(j=1;j for(k=1;k  x=x+delta;
A、
参考资料【 】
23、【填空题】对于给定的n个元素,可以构造出的逻辑结构有 (1) , (2) , (3) ,(4)四种。
A、
参考资料【 】
24、【填空题】数据的逻辑结构是指 。
A、
参考资料【 】
25、【填空题】数据结构中评价算法的两个重要指标是 。
A、
参考资料【 】
随堂测验
1、【单选题】下述哪一条是顺序存储结构的优点?
A、存储密度大
B、插入运算方便
C、删除运算方便
D、可方便地用于各种逻辑结构的存储表示
参考资料【 】
2、【单选题】下面关于线性表的叙述中,错误的是哪一个?( )
A、线性表采用顺序存储,必须占用一片连续的存储单元。
B、线性表采用顺序存储,便于进行插入和删除操作。
C、线性表采用链接存储,不必占用一片连续的存储单元。
D、线性表采用链接存储,便于插入和删除操作。
参考资料【 】
3、【单选题】线性表是具有n个( )的有限序列(n0)
A、信息项
B、字符
C、数据元素
D、数据项
参考资料【 】
4、【单选题】若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( )(1=i=n+1)
A、O(0)
B、O(1)
C、O(n)
D、O(n2)
参考资料【 】
5、【判断题】顺序存储方式只能用于存储线性结构。( )
A、正确
B、错误
参考资料【 】
6、【判断题】集合与线性表的区别在于是否按关键字排序。
A、正确
B、错误
参考资料【 】
7、【判断题】线性表的特点是每个元素都有一个前驱和一个后继。
A、正确
B、错误
参考资料【 】
8、【判断题】线性表只能用顺序存储结构实现。
A、正确
B、错误
参考资料【 】
9、【判断题】顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
A、正确
B、错误
参考资料【 】
随堂测验
1、【填空题】当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_______存储结构。
A、
参考资料【 】
2、【填空题】在一个长度为n的顺序表中第i个元素(1=i=n)之前插入一个元素时,需向后移动________个元素
A、
参考资料【 】
3、【填空题】顺序存储结构是通过________表示元素之间的关系的。
A、
参考资料【 】
4、【填空题】设有一维数组M,下标的范围是0到9,每个数组元素用相邻的5个字节存储。存储器按字节编址,设存储数组元素M[0]的第一个字节的地址是98,则M[3]的第一个字节的地址是
______?
A、
参考资料【 】
5、【填空题】在顺序表中插入和删除元素,最主要的操作是_______。
A、
参考资料【 】
随堂测验
1、【单选题】链表不具有的特点是( )
A、插入、删除不需要移动元素
B、可随机访问任一元素
C、不必事先估计存储空间
D、所需空间与线性长度成正比
参考资料【 】
2、【单选题】设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。
A、单链表
B、单循环链表
C、带尾指针的单循环链表
D、带头结点的双循环链表
参考资料【 】
3、【单选题】下面的叙述不正确的是( )
A、线性表在链式存储时,查找第i个元素的时间同i的值成正比
B、线性表在链式存储时,查找第i个元素的时间同i的值有关
C、线性表在顺序存储时,查找第i个元素的时间同i 的值成正比
D、线性表在顺序存储时,查找第i个元素的时间同i的值无关
参考资料【 】
4、【单选题】线性表( a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂性为( )
A、O(i)
B、O(1)
C、O(n)
D、O(i-1)
参考资料【 】
5、【单选题】在一个以 h 为头的单循环链中,p 指针指向链尾的条件是()
A、p->nexth
B、p->next
NULL
C、p->next->nexth
D、p->data=-1
参考资料【 】
6、【单选题】在单链表指针为p的结点之后插入指针为s的结点,正确的操作是( )
A、p->next=s;s->next=p->next;
B、s->next=p->next;p->next=s;
C、p->next=s;p->next=s->next;
D、p->next=s->next;p->next=s;
参考资料【 】
7、【单选题】对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是( )
A、head
NULL
B、head→nextNULL
C、head→next
head
D、head!=NULL
参考资料【 】
8、【单选题】在双向链表指针p的结点前插入一个指针q的结点操作是( )
A、 p->prior=q;q->next=p;p->prior->next=q;q->prior=q;
B、p->prior=q;p->prior->next=q;q->next=p;q->prior=p->prior
C、q->next=p;q->prior=p->prior;p->prior->next=q;p->prior=q;
D、q->prior=p->prior;q->next=q;p->prior=q;p->prior=q;
参考资料【 】
9、【判断题】链表中的头结点仅起到标识的作用。( )
A、正确
B、错误
参考资料【 】
10、【判断题】线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。( )
A、正确
B、错误
参考资料【 】
11、【判断题】链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。 ( )
A、正确
B、错误
参考资料【 】
12、【判断题】所谓静态链表就是一直不发生变化的链表。( )
A、正确
B、错误
参考资料【 】
随堂测验
1、【填空题】设单链表的结点结构为(data,next),next为指针域,已知指针px指向单链表中data为x的结点,指针py指向data为y的新结点 , 若将结点y插入结点x之后,则需要执行以下语句:_______; ;
A、
参考资料【 】
2、【填空题】已知指针p指向单链表L中的某结点,则删除其后继结点的语句是:

A、
参考资料【 】
3、【填空题】链接存储的特点是利用________来表示数据元素之间的逻辑关系。
A、
参考资料【 】
4、【填空题】对于双向链表,在两个结点之间插入一个新结点需修改的指针共 个.
A、
参考资料【 】
5、【填空题】对于单链表的两个结点之间插入一个新结点需修改的指针共 个。
A、
参考资料【 】
6、【填空题】在单链表L中,指针p所指结点有后继结点的条件是:

A、
参考资料【 】
随堂测验
1、【单选题】 一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1=i=n)个元素是( )。
A、不确定
B、 n-i+1
C、i
D、n-i
参考资料【 】
2、【单选题】有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( )
A、5 4 3 6 1 2
B、4 5 3 1 2 6
C、3 4 6 5 2 1
D、2 3 4 1 5 6
参考资料【 】
3、【单选题】对于栈操作数据的原则是( )。
A、先进先出
B、后进先出
C、后进后出
D、不分顺序
参考资料【 】
4、【单选题】执行完下列语句段后,i值为:( ). int f(int x) { return ((x0) ? x* f(x-1):2);} int i ; i =f(f(1));
A、2
B、4
C、8
D、无限递归
参考资料【 】
5、【单选题】 表达式a*(b+c)-d的后缀表达式是( )。
A、abcd*±
B、abc+d-
C、abc
+d-
D、 -+abcd
参考资料【 】
6、【单选题】若一个栈以向量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
参考资料【 】
随堂测验
1、【单选题】设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈S,一个元素出栈后即进队列Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1则栈S的容量至少应该是( )。
A、6
B、4
C、3
D、2
参考资料【 】
2、【单选题】用单链表表示的链式队列的队头在链表的( )位置。
A、链头
B、链尾
C、链中
D、不确定
参考资料【 】
3、【单选题】 栈和队都是( )。
A、顺序存储的线性结构
B、链式存储的非线性结构
C、限制存取点的线性结构
D、限制存取点的非线性结构
参考资料【 】
4、【判断题】队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。( )
A、正确
B、错误
参考资料【 】
5、【判断题】通常使用队列来处理函数或过程的调用。( )
A、正确
B、错误
参考资料【 】
6、【判断题】栈和队列的存储方式,既可以是顺序方式,又可以是链式方式。( )
A、正确
B、错误
参考资料【 】
随堂测验
1、【单选题】循环队列A[0…m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是( )。
A、(rear-front+m)%m
B、rear-front+1
C、rear-front-1
D、rear-front
参考资料【 】
2、【单选题】循环队列存储在数组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)
参考资料【 】
3、【单选题】若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?( )
A、1和 5
B、2和4
C、 4和2
D、5和1
参考资料【 】
4、【判断题】 循环队列通常用指针来实现队列的头尾相接。( )
A、正确
B、错误
参考资料【 】
5、【判断题】循环队列也存在空间溢出问题。( )
A、正确
B、错误
参考资料【 】
线性表编程作业
线性表单元作业
线性表单元作业1
栈和队列编程作业
线性表单元测试
1、【单选题】下述哪一条是顺序存储结构的优点?( )
A、存储密度大
B、插入运算方便
C、删除运算方便
D、可方便地用于各种逻辑结构的存储表示
参考资料【 】
2、【单选题】下面关于线性表的叙述中,错误的是哪一个?( )
A、线性表采用顺序存储,必须占用一片连续的存储单元
B、线性表采用顺序存储,便于进行插入和删除操作
C、线性表采用链接存储,不必占用一片连续的存储单元
D、线性表采用链接存储,便于插入和删除操作
参考资料【 】
3、【单选题】若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。
A、顺序表
B、双链表
C、带头结点的双循环链表
D、单循环链表
参考资料【 】
4、【单选题】对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为( )
A、O(n) O(n)
B、O(n) O(1)
C、O(1) O(n)
D、 O(1) O(1)
参考资料【 】
5、【单选题】在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:( )【提高题】
A、p->next=s;s->next=p->next;
B、s->next=p->next;p->next=s;
C、p->next=s;p->next=s->next;
D、p->next=s->next;p->next=s;
参考资料【 】
6、【单选题】对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是( )【提高题】
A、headNULL
B、head→next
NULL
C、head→next==head
D、head!=NULL
参考资料【 】
7、【单选题】线性表是一个( )。
A、有限序列,可以为空
B、有限序列,不能为空
C、无限序列,可以为空
D、无限序列,不能为空
参考资料【 】
8、【单选题】能在O(1)时间内访问线性表的第i个元素结构的是( )。
A、顺序表
B、单链表
C、单向循环链表
D、双向链表
参考资料【 】
9、【单选题】在单链表中,增加一个头结点的目的是( )。
A、使单链表至少有一个结点
B、标识表结点中首结点的位置
C、方便运算的实现
D、说明单链表是线性表的链式存储
参考资料【 】
10、【单选题】对于一个线性表既要求能够进行较快速的插入和删除,又要求存储结构能够反映数据之间的逻辑关系,则应该用( )。
A、顺序存储方式
B、链式存储方式
C、散列存储方式
D、以上均可以
参考资料【 】
11、【单选题】在链式存储结构中,数据之间的关系是通过( )体现的。
A、数据在内存中的相对位置
B、指示数据元素的指针
C、数据的存储地址
D、指针
参考资料【 】
12、【单选题】链表不具有的特点是( )。
A、插入、删除不需要移动元素
B、可随机访问任一元素
C、不必事先估计存储空间
D、所需空间与线性长度成正比
参考资料【 】
13、【单选题】在n个结点的线性表的数组实现中,算法的时间复杂度是O(1)的操作是( )。
A、访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
B、在第i个结点后插入一个新结点(1≤i≤n)
C、删除第i个结点(1≤i≤n)
D、以上都不对
参考资料【 】
14、【单选题】对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。删除一个元素时平均要移动表中的( )个元素。【提高题】
A、n/2
B、(n+1)/2
C、(n-1)/2
D、n
参考资料【 】
15、【单选题】在一个单链表中,已知指针p指向其中某个结点,若在该结点前插入一个由指针s指向的结点,则需执行( )。【提高题】
A、s->next=p->next;p->next=s;
B、p->next=s;s->next=p;
C、r=p->next;p->next=s;s->next=r;
D、仅靠已知条件无法实现
参考资料【 】
16、【单选题】将长度为n的单向链表链接在长度为m的单向链表之后的算法的时间复杂度为( )。
A、O(m)
B、O(1)
C、O(n)
D、O(m+n)
参考资料【 】
17、【单选题】线性表的动态链表存储结构与顺序存储结构相比,优点是( )。
A、所有的操作算法实现简单
B、便于随机存取
C、便于插入和删除
D、便于节省存储器空间
参考资料【 】
18、【单选题】数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为( )。
A、存储结构
B、逻辑结构
C、链式存储结构
D、顺序存储结构
参考资料【 】
19、【判断题】链表中的头结点仅起到标识的作用。
A、正确
B、错误
参考资料【 】
20、【判断题】 顺序存储结构的主要缺点是不利于插入或删除操作。( )
A、正确
B、错误
参考资料【 】
21、【判断题】线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。
A、正确
B、错误
参考资料【 】
22、【判断题】顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。
A、正确
B、错误
参考资料【 】
23、【判断题】顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
A、正确
B、错误
参考资料【 】
24、【判断题】链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。
A、正确
B、错误
参考资料【 】
25、【判断题】线性表中每个元素都有一个直接前驱和直接后继。
A、正确
B、错误
参考资料【 】
26、【判断题】线性表的插入、删除总是伴随着大量数据的移动。
A、正确
B、错误
参考资料【 】
27、【判断题】线性表中的所有数据元素的数据类型必须相同。
A、正确
B、错误
参考资料【 】
28、【判断题】顺序存储的线性表可以随机存取。
A、正确
B、错误
参考资料【 】
29、【判断题】在单链表中,要访问每个结点,只要知道该结点的指针即可,因此,单链表是一种随机存取结构。
A、正确
B、错误
参考资料【 】
30、【判断题】在顺序表中取出第i个元素所花费的时间与i成正比。
A、正确
B、错误
参考资料【 】
31、【判断题】在具有头结点的链式存储结构中,头指针均指向链表中的第一个数据结点。
A、正确
B、错误
参考资料【 】
32、【判断题】线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。
A、正确
B、错误
参考资料【 】
33、【填空题】顺序存储结构是通过________表示元素之间的关系的
A、
参考资料【 】
34、【填空题】链式存储结构是通过________表示元素之间的关系的。
A、
参考资料【 】
35、【填空题】已知指针p指向单链表L中的某结点,则删除其后继结点的语句是:q=p-next; ________________
A、
参考资料【 】
36、【填空题】在单链表L中,指针p所指结点有后继结点的条件是:
_
A、
参考资料【 】
37、【填空题】对于一个具有n个结点的单链表,在已知的结点p后插入一个新结点的时间复杂度为__________。
A、
参考资料【 】
38、【填空题】对于一个具有n个结点的单链表,在给定值为x的结点后插入一个新结点的时间复杂度为___________。
A、
参考资料【 】
39、【填空题】以下程序的功能是实现统计带头结点的单链表中具有给定值x的所有元素数,请填空完善之。【提高题】typedef struct LNode{ ElemType data; struct LNode next}LNode,LinkList;int Count(LinkList L,DataType x){ //在单链表中进行一趟检测,统计具有给定值x的结点,如果表空,返回0 int n=0; LNode p=L-next; while§ { if(_________)n++; p=p-next; } return n;}
A、
参考资料【 】
栈和队列单元测试
1、【单选题】为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中读取数据。该缓冲区的逻辑结构是( )。
A、栈
B、队列
C、树
D、图
参考资料【 】
2、【单选题】若一个栈以向量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;
参考资料【 】
3、【单选题】设计一个判别表达式中左、右括号是否配对出现的算法,采用( )数据结构最佳。
A、线性表的顺序存储结构
B、队列
C、线性表的链式存储结构
D、栈
参考资料【 】
4、【单选题】对于循环队列( )。
A、无法判断队列是否为空
B、无法判断队列是否为满
C、队列不可能满
D、以上说法都不是
参考资料【 】
5、【单选题】循环队列A[0…m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是( )。
A、(rear-front+m)%m
B、rear-front+1
C、rear-front-1
D、rear-front
参考资料【 】
6、【单选题】设顺序队列的容量为MaxSize,其头指针为front,尾指针为rear,空队列的条件为( )。
A、front=rear
B、front=MaxSize
C、front+1=rear
D、rear=0
参考资料【 】
7、【单选题】循环队列存储在数组A[0…m]中,则入队时的操作为( )。
A、rear=rear+1
B、rear=(rear+1)%(m-1)
C、rear=(rear+1)%m
D、rear=(rear+1)%(m+1)
参考资料【 】
8、【单选题】若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?( )
A、1和5
B、2和4
C、4和2
D、5和 1
参考资料【 】
9、【单选题】栈和队列的共同点是( )。
A、都是先进后出
B、都是后进先出
C、只允许在端点处插入和删除元素
D、没有共同点
参考资料【 】
10、【单选题】将递归算法转变成对应非递归算法时,需要使用( )保存中间结果。
A、栈
B、队列
C、二叉树
D、单链表
参考资料【 】
11、【单选题】队列操作的原则是( )。
A、先进先出
B、后进先出
C、只能进行插入
D、只能进行删除
参考资料【 】
12、【单选题】在下列栈的基本操作中,( )的初始条件不要求栈S已存在。
A、InitStack(&S)
B、DestroyStack(&S)
C、ClearStack(&S)
D、StackEmpty(S)
参考资料【 】
13、【单选题】在算符优先级中,算符“+”和“(”的优先关系是( )。
A、“+”大于“(”
B、“+”小于“(”
C、“+”等于“(”
D、取决于它们出现的位置
参考资料【 】
14、【单选题】设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,f,g依次加入栈S,若每个元素出栈后立即加入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是( )。【提高题】
A、1
B、2
C、3
D、4
参考资料【 】
15、【单选题】若元素a,b,c,d,e,f依次进栈,允许进栈、出栈操作交替进行,但不允许连续三次进行出栈操作,则不可能得到的出栈序列是( )。【提高题】
A、d,c,e,b,f,a
B、c,b,d,a,e,f
C、b,c,a,e,f,d
D、a,f,e,d,c,b
参考资料【 】
16、【单选题】元素a,b,c,d,e依次加入初始为空的栈中,若元素进栈后可停留,可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素d开头的序列个数是( )。【提高题】
A、3
B、4
C、5
D、6
参考资料【 】
17、【单选题】已知操作符包括’+’,’-’,’
’,’/’,’(’ 和 ‘)’。将中缀表达式a+b-a
((c+d)/e-f)+g转换为等价的后缀表达式ab+acd+e/f-
-g+时,用栈来存放暂时还不能确定预算次序的操作符。若栈初始时为空,则转换过程中同时保存在栈中的操作符的最大个数是( )。【提高题】
A、5
B、6
C、7
D、8
参考资料【 】
18、【单选题】假设栈初始为空,将中缀表达式a/b+(cd-ef)/g转换为等价的后缀表达式的过程中,当扫描到f时,栈中的元素依次是( )。【提高题】
A、+(-
B、+(-

C、/+(-
D、/±*
参考资料【 】
19、【单选题】已知程序如下:int s(int n)
{
return (n=0)?0:s(n-1)+n;
}

int main(void)
{
printf(%d,s(1));
}程序运行时使用栈来保存调用过程的信息,自栈底到栈顶保存的信息依次对应的是( )。【提高题】
A、main()->S(1)->S(0)
B、S(1)->S(0)->main()
C、main()->S(0)->S(1)
D、S(0)->S(1)->main()
参考资料【 】
20、【单选题】一个栈的输入序列为1,2,3,…,n,若输出序列的第一个元素是n,输出第i(1≤i≤n)个元素是( )。【提高题】
A、不确定
B、n-i
C、i
D、n-i+1
参考资料【 】
21、【单选题】中缀表达式(A+B)(C-D)/(E-FG)的后缀表达式是( )。【提高题】
A、A+BC-D/E-FG
B、AB+CD-EFG-/
C、AB+CD-E/F-G
D、ABCDEFG+-/-
参考资料【 】
22、【单选题】表达式a*(b+c)-d的后缀表达式是( )。【提高题】
A、abcd*±
B、abc+d-
C、abc
+d-
D、-+abcd
参考资料【 】
23、【单选题】利用栈求表达式的值时,设立操作数栈OPND,设OPND只有两个存储单元,在下列表达式中,不发生上溢的是( )。【提高题】
A、A-B
(C-D)
B、(A-B)C-D
C、(A-B
C)-D
D、(A-B)(C-D)
参考资料【 】
24、【单选题】若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是( )。【提高题】
A、i-j-1
B、i-j
C、 j-i+1
D、不确定的
参考资料【 】
25、【单选题】有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( )【提高题】
A、5 4 3 6 1 2
B、4 5 3 1 2 6
C、3 4 6 5 2 1
D、2 3 4 1 5 6
参考资料【 】
26、【单选题】设栈的输入序列是1,2,3,4,则( )不可能是其出栈序列。【提高题】
A、 1,2,4,3
B、2,1,3,4
C、1,4,3,2
D、 4,3,1,2
E、3,2,1,4
参考资料【 】
27、【单选题】设一个栈的输入序列是 1,2,3,4,5,则下列序列中,是栈的合法输出序列的是( )。【提高题】
A、 5 1 2 3 4
B、4 5 1 3 2
C、4 3 1 2 5
D、3 2 1 5 4
参考资料【 】
28、【单选题】设abcdef以所给的次序进栈,若在进栈操作时,允许退栈操作,则下面得不到的序列为( )。【提高题】
A、fedcba
B、bcafed
C、dcefba
D、 cabdef
参考资料【 】
29、【单选题】输入序列为ABC,可以变为CBA时,经过的栈操作为( )【提高题】
A、push,pop,push,pop,push,pop
B、push,push,push,pop,pop,pop
C、push,push,pop,pop,push,pop
D、push,pop,push,push,pop,pop
参考资料【 】
30、【单选题】和顺序栈相比,链栈有一个比较明显的优势是( )。
A、通常不会出现栈满的情况
B、通常不会出现栈空的情况
C、插入操作更容易实现
D、删除操作更容易实现
参考资料【 】
31、【单选题】一个递归算法必须包括( )。
A、递归部分
B、终止条件和递归部分
C、迭代部分
D、终止条件和迭代部分
参考资料【 】
32、【判断题】栈是实现过程和函数等子程序所必需的结构。
A、正确
B、错误
参考资料【 】
33、【判断题】设栈采用顺序存储结构。若已有i-1个元素入栈,则将第i个元素入栈,入栈算法的时间复杂性为O(i)。
A、正确
B、错误
参考资料【 】
34、【判断题】设栈采用顺序存储结构,若已有n个元素入栈,则出栈算法的时间复杂度为O(n)
A、正确
B、错误
参考资料【 】
35、【判断题】栈和队列都是操作受限的线性表。栈是插入和删除只能在一端进行的线性表;队列是插入在一端进行,删除在另一端进行的线性表。
A、正确
B、错误
参考资料【 】
36、【判断题】栈和队列均为操作受限的线性表。
A、正确
B、错误
参考资料【 】
37、【判断题】通常使用队列来处理函数或过程的调用。( )
A、正确
B、错误
参考资料【 】
38、【判断题】栈和队列的存储方式,既可以是顺序方式,又可以是链式方式。( )
A、正确
B、错误
参考资料【 】
39、【判断题】设尾指针的循环链表表示队列,则入队和出队算法的时间复杂度均为O(1)
A、正确
B、错误
参考资料【 】
40、【判断题】循环队列也存在空间溢出问题。( )
A、正确
B、错误
参考资料【 】
41、【判断题】队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。( )
A、正确
B、错误
参考资料【 】
42、【填空题】________又称作先进先出表。
A、
参考资料【 】
43、【填空题】设a=6,b=4,c=2,d=3,e=2,则后缀表达式abc-/de
+的值是
A、
参考资料【 】
44、【填空题】队列的特点是__________。
A、
参考资料【 】
45、【填空题】在具有n个元素的非空队列中插入一个元素或者删除一个元素的操作时间复杂度是____________。
A、
参考资料【 】
46、【填空题】循环队列是队列的一种_____________存储结构
A、
参考资料【 】
47、【填空题】在循环队列中,队列长度为n,存储位置从0到n-1编号,以rear指示实际的队尾元素,先要在此队列中插入一个新元素,新元素的位置是________。
A、
参考资料【 】
48、【填空题】已知一循环队列的存储空间为[m…n],其中nm,队头和队尾指针分别是front和rear,则此循环队列判满的条件是__________。
A、
参考资料【 】
49、【填空题】循环队列用数组A[0…m-1]存放其元素值,已知其头尾指针分别是front和rear ,则当前队列的元素个数是_______。
A、
参考资料【 】
50、【填空题】用一个大小为1000的数组来实现循环队列,当前rear和front的值分别为0和994,若要达到队满的条件,还需要继续入队的元素个数是__________。
A、
参考资料【 】
随堂测验
1、【单选题】 树是结点的有限集合,它( ))根结点,记为T。
A、 有0个或1个
B、有0个或多个
C、有且只有一个
D、有1个或1个以上
参考资料【 】
2、【单选题】除根结点T外,树的其余结点分成为m(m0)个( )的集合T1,T2, …,Tm,每个集合又都是树,此时根结点T称为Ti的父结点,Ti称为T的子结点(1≤i≤m)。
A、 互不相交
B、允许相交
C、允许叶结点相交
D、允许树枝结点相交
参考资料【 】
3、【单选题】一个结点的子结点个数称为该结点的( )。
A、权
B、维数
C、次数
D、度
参考资料【 】
4、【单选题】在一棵三元树中度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为( )个
A、4
B、5
C、6
D、7
参考资料【 】
5、【填空题】一棵树T中,包括一个度为1的结点,两个度为2的结点,三个度为3的结点,四个度为4的结点和若干叶子结点,则T的叶结点数为______。
A、
参考资料【 】
6、【填空题】n(n大于1)个结点的各棵树中,其深度最小的那棵树的深度是______。
A、
参考资料【 】
7、【填空题】n(n大于1)个结点、深度最小的那棵树、共有______个叶子结点
A、
参考资料【 】
8、【填空题】n(n大于1)个结点的各棵树中,其深度最深的那棵树的深度是______。
A、
参考资料【 】
随堂测验
1、【单选题】若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )
A、9
B、11
C、15
D、不确定
参考资料【 】
2、【单选题】一棵完全二叉树上有1001个结点,其中叶子结点的个数是( )。
A、250
B、 500
C、254
D、501
参考资料【 】
3、【单选题】一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( )结点
A、2h
B、2h-1
C、2h+1
D、h+1
参考资料【 】
4、【单选题】一棵具有 n个结点的完全二叉树的树高度(深度)是( )。
A、ëlognû+1
B、logn+1
C、ëlognû
D、logn-1
参考资料【 】
5、【判断题】完全二叉树一定存在度为1的结点。
A、正确
B、错误
参考资料【 】
6、【判断题】深度为K的二叉树中结点总数≤2的k次方减1
A、正确
B、错误
参考资料【 】
随堂测验
1、【单选题】若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )
A、9
B、11
C、15
D、不确定
参考资料【 】
2、【单选题】具有10个叶结点的二叉树中有( )个度为2的结点。
A、8
B、9
C、10
D、11
参考资料【 】
3、【单选题】一棵完全二叉树上有1001个结点,其中叶子结点的个数是( )。
A、250
B、500
C、501
D、505
参考资料【 】
4、【单选题】有关二叉树下列说法正确的是( )。
A、二叉树的度为2
B、一棵二叉树的度可以小于2
C、二叉树中至少有一个结点的度为2
D、二叉树中任何一个结点的度都为2
参考资料【 】
5、【单选题】一棵具有 n个结点的完全二叉树的树高度(深度)是( )。
A、ëlognû+1
B、logn+1
C、ëlognû
D、logn-1
参考资料【 】
6、【单选题】一棵树高为5的完全二叉树至少有( )个结点。
A、12
B、14
C、15
D、16
参考资料【 】
随堂测验
1、【单选题】对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( )次序的遍历实现编号。
A、先序
B、中序
C、后序
D、从根开始按层次遍历
参考资料【 】
2、【单选题】二叉树的先序遍历和中序遍历如下: 先序遍历:EFHIGJK;中序遍历: HFIEJKG 。该二叉树根的右子树的根是:
A、 E
B、F
C、G
D、H
参考资料【 】
3、【单选题】已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac , 它的前序遍历是( )。
A、acbed
B、decab
C、deabc
D、cedba
参考资料【 】
树和森林
1、【单选题】 设F是一个森林,B是由F变换得的二叉树。若F中有n个非终端结点,则B中右指针域为空的结点有( )个。
A、 n-1
B、n
C、 n+1
D、n+2
参考资料【 】
2、【判断题】二叉树是一般树的特殊情形。
A、正确
B、错误
参考资料【 】
3、【判断题】树与二叉树是两种不同的树型结构。
A、正确
B、错误
参考资料【 】
4、【判断题】度为二的树就是二叉树。
A、正确
B、错误
参考资料【 】
5、【填空题】一棵树T中,包括一个度为1的结点,两个度为2的结点,三个度为3的结点,四个度为4的结点和若干叶子结点,则T的叶结点数为______。
A、
参考资料【 】
6、【填空题】先根遍历树正好等同于按___遍历对应的二叉树
A、
参考资料【 】
7、【填空题】后根遍历树正好等同于按___遍历对应的二叉树。
A、
参考资料【 】
哈夫曼树与哈夫曼编码
1、【单选题】下述编码中哪一个不是前缀码( )。
A、(00,01,10,11)
B、(0,1,00,11)
C、(0,10,110,111)
D、(1,01,000,001)
参考资料【 】
2、【单选题】下面几个符号串编码集合中,不是前缀编码的是( )。
A、{0,10,110,1111}
B、{11,10,001,101,0001}
C、{00,010,0110,1000}
D、{b,c,aa,ac,aba,abb,abc}
参考资料【 】
3、【单选题】下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按其关键字递增有序()。
A、二叉排序树
B、哈夫曼树
C、AVL树
D、堆
参考资料【 】
4、【判断题】霍夫曼树的结点个数不能是偶数。
A、正确
B、错误
参考资料【 】
5、【判断题】 哈夫曼树无左右子树之分。
A、正确
B、错误
参考资料【 】
6、【判断题】哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。
A、正确
B、错误
参考资料【 】
7、【填空题】有一份电文中共使用 6个字符:a,b,c,d,e,f,它们的出现频率依次为2,3,4,7,8,9,试构造一棵哈夫曼树,则其加权路径长度WPL为___
A、
参考资料【 】
8、【填空题】设n0为哈夫曼树的叶子结点数目,则该哈夫曼树共有______个结点。
A、
参考资料【 】

猜你喜欢

转载自blog.csdn.net/yuyueshool/article/details/123795333