国家二级C++机试(数据结构与算法)模拟试卷12_第1页
国家二级C++机试(数据结构与算法)模拟试卷12_第2页
国家二级C++机试(数据结构与算法)模拟试卷12_第3页
国家二级C++机试(数据结构与算法)模拟试卷12_第4页
国家二级C++机试(数据结构与算法)模拟试卷12_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家二级C++机试(数据结构与算法)模拟试卷12(总分:54.00,做题时间:90分钟)一、选择题(总题数:27,分数:54.00)1.下列叙述中正确的是(分数:2.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定√解析:解析:循环队列中元素的个数是由队头指针和队尾指针共同决定的,元素的动态变化也是通过队头指针和队尾指针来反映的。2.对于循环队列,下列叙述中正确的是(分数:2.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针√解析:解析:所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列中,用队尾指针rear指向队列中的队尾元素,用队头指针front指向队头元素的前一个位置。循环队列的主要操作是:入队运算和退队运算。每进行一次入队运算,队尾指针就进一。每进行一次退队运算,队头指针就进一。当rear或front等于队列的长度加1时,就把rear或front值置为1。所以在循环队列中,队头指针可以大于队尾指针,也可以小于队尾指针。3.下列叙述中正确的是(分数:2.00)A.循环队列是队列的一种链式存储结构B.循环队列是队列的一种顺序存储结构√C.循环队列是非线性结构D.循环队列是一种逻辑结构解析:解析:本题主要考查循环队列的概念,循环队列作为队列的一种也应该是线性结构。队列是一种逻辑结构,而循环队列是一种顺序存储结构的队列。4.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为(分数:2.00)A.15B.16C.20D.0或35√解析:解析:循环队列的队头指针和尾指针都等于15,此循环队列中元素的个数有两种情况,第一种情况是队头指针和尾指针都是第一次到达15,此时元素个数为0;第二种情况是队头指针第一次到达15,而尾指针第二次到达15,此时元素个数为35。5.在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则循环队列中的元素个数为(分数:2.00)A.2B.3√C.4D.5解析:解析:循环队列中,rear表示尾指针,front表示头指针,当有元素入队时,rear=rear+1,而元素出队的时候,front=front+1,当rear值大于front值时,队列中的元素个数为rear-front,当rear的值小于front时,列队中的元素个数为rear-front+m(m表示队列的容量)。6.下列叙述中正确的是(分数:2.00)A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.栈与队列都是线性结构√解析:解析:栈是先进后出,队列是先进先出。栈和队列都是一种线性表,属于线性结构。7.下列叙述中正确的是(分数:2.00)A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构√解析:解析:栈是“先进后出”,队列“是先进先出”。栈和队列都是一种线性表,属于线性结构。有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。采用链式存储结构的线性表称之为线性链表。8.下列与队列结构有关联的是(分数:2.00)A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度√解析:解析:队列中最先插入的元素将最先被删除,最后插入的元素将最后被删除。9.下列叙述中正确的是(分数:2.00)A.循环队列中的元素个数随队头指针与队尾指针的变化而动态变化√B.循环队列中的元素个数随队头指针的变化而动态变化C.循环队列中的元素个数随队尾指针的变化而动态变化D.循环队列中的元素个数不会变化解析:解析:所谓循环结构就是将队列存储空间的最后一个位置绕到第一个位置上,形成逻辑上的环状空间,循环使用。在循环队列中,用队尾指针rear指向队列中的队尾元素,用队头指针from指向队头元素的前一个位置,因此,队列中的元素数等于从队头指针舶nt指向的后一个位置与队尾指针rear指向位置之间的元素数量。10.下列关于线性链表的叙述中,正确的是(分数:2.00)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素√D.以上都不正确解析:解析:线性表的链式存储结构称为线性链表。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。11.下列叙述中正确的是(分数:2.00)A.线性表链式存储结构的存储空间一般要少于顺序存储结构B.线性表链式存储结构与顺序存储结构的存储空间都是连续的C.线性表链式存储结构的存储空间可以是连续的,也可以是不连续的√D.以上都不正确解析:解析:线性表的存储分为顺序存储和链式存储。在顺序存储中,所有元素所占的存储空间是连续的。而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。12.下列叙述中正确的是(分数:2.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构√C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.以上都不正确解析:解析:线性表的存储分为顺序存储和链式存储。在顺序存储中,所有元素所占的存储空间是连续的。而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。13.下列叙述中正确的是(分数:2.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空问一般要多于顺序存储结构√C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.上述三种说法都不对解析:解析:线性表的存储分为顺序存储和链式存储。在顺序存储中,所有元素所占的存储空间是连续的,各数据元素在存储空间中是按逻辑顺序依次存放的。所以每个元素只存储其值就可以了,而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域:另一部分用于存储下一个元素的存储序号,称为指针域。所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。14.下列对于线性链表的描述中正确的是(分数:2.00)A.存储空间不一定连续,且各元素的存储顺序是任意的√B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的解析:解析:一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。在线性链表中,各数据元素之间的前后件关系是由各结点的指针域来指示的,指向线性表中第一个结点的指针head称为头指针,当head=NULL(或0)时称为空表。15.下列叙述中正确的是(分数:2.00)A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的√B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间解析:解析:顺序存储方式主要用于线性的数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。而链式存储结构的存储空间不一定是连续的。16.下列链表中,其逻辑结构属于非线性结构的是(分数:2.00)A.二叉链表√B.循环链表C.双向链表D.带链的栈解析:解析:二叉链表作为树的存储结构。链表中结点的两个链域分别指向该结点的第一个孩子结点和下一个兄弟结点。17.下列叙述中正确的是(分数:2.00)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构√C.循环链表是非线性结构D.双向链表是非线性结构解析:解析:在数据结构中,树这类的的数据结构只有一个根结点,但它不是线性结构。18.某系统总体结构图如下图所示:(分数:2.00)该系统总体结构图的深度是A.7B.6C.3√D.2解析:解析:这个系统总体结构图是一棵树结构,在树结构中,根结点在第1层,同一层上所有子结点都在下一层,由系统总体结构图可知,这棵树共3层。在树结构中,树的最大层次称为树的深度。所以这棵树的深度为3。19.下列关于二叉树的叙述中,正确的是(分数:2.00)A.叶子结点总是比度为2的结点少一个B.叶子结点总是比度为2的结点多一个√C.叶子结点数是度为2的结点数的两倍D.度为2的结点数是度为1的结点数的两倍解析:解析:由二叉树的性质可以知道在二叉树中叶子结点总是比度为2的结点多一个。20.某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为(分数:2.00)A.n+1√B.n-1C.2nD.n/2解析:解析:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。所以该二叉树的叶子结点数等于n+1。21.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是(分数:2.00)A.10B.8C.6√D.4解析:解析:根据二叉树的性质,在任意二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。22.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为(分数:2.00)A.16√B.10C.6D.4解析:解析:根据二叉树的性质,在任意二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个,故此度为1的结点个数=总结点数-叶子节点数=度为2的节点数=25-5-4=16。23.一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为(分数:2.00)A.219B.229√C.230D.231解析:解析:根据二叉树的性质,在任意二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个,故总结点数=叶子节点数+度为2的节点数+度为1的节点数=80+79+70=229。24.一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为(分数:2.00)A.219√B.221C.229D.231解析:解析:在二叉树中,叶子结点个数为n0,则度为2的结点数n2=n0-1。本题中叶子结点的个数为70,所以度为2的结点个数为69,因而总结点数=叶子结点数+度为1的结点数+度为2的结点数=70+80+69=219。25.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)(分数:2.00)A.3B.4C.6D.7√解析:解析:根据二叉树的性质,度为0的结点(即叶子结点)总是比度为2的结点多一个。题目中的二叉树的叶子结点为1,因此度为2的结点的数目为0,故该二叉树为7层,每层只有一个结点。26.某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)(分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论