#GESP119. GESP24年6月六级选择题

GESP24年6月六级选择题

单选题(每题2分,共30分)
  1. 面向对象的编程思想主要包括( )原则。{{ select(1) }}
  • 贪心、动态规划、回溯
  • 并发、并行、异步
  • 递归、循环、分治
  • 封装、继承、多态
  1. 运行下列代码,屏幕上输出( )。 {{ select(2) }}

    image

  • 1 1 1
  • 1 2 3
  • 1 1 2
  • 1 2 2
  1. 运行下列代码,屏幕上输出( )。

image

image

{{ select(3) }}

  • rectangle area: triangle area:
  • parent class area: parent class area:
  • 运行时报错
  • 编译时报错
  1. 向一个栈顶为hs的链式栈中插入一个指针为s的结点时,应执行( )。

{{ select(4) }}

  • hs->next = s;
  • s->next = hs; hs = s;
  • s->next = hs->next; hs->next = s;
  • s->next = hs; hs = hs->next;
  1. 在栈数据结构中,元素的添加和删除是按照什么原则进行的?。

    {{ select(5) }}

  • 先进先出
  • 先进后出
  • 最小值先出
  • 随机顺序
  1. 要实现将一个输入的十进制正整数转化为二进制表示,下面横线上应填入的代码为( )。

image

image

{{ select(6) }}

  • cout << bin.top(); bin.pop();
  • bin.pop(); cout << bin.top();
  • cout << bin.back(); bin.pop();
  • cout << bin.front(); bin.pop();
  1. 下面定义了一个循环队列的类,请补全判断队列是否满的函数,横向上应填写( )。

image

image

{{ select(7) }}

  • return (rear + 1) % capacity == front;
  • return rear % capacity == front;
  • return rear == front;
  • return (rear + 1) == front;
  1. 对“classmycls”使用哈夫曼(Huffman)编码,最少需要( )比特。

{{ select(8) }}

  • 10
  • 20
  • 25
  • 30
  1. 二叉树的( )第一个访问的节点是根节点。

{{ select(9) }}

  • 先序遍历
  • 中序遍历
  • 后序遍历
  • 以上都是
  1. 一棵5层的满二叉树中节点数为( )。

    {{ select(10) }}

  • 31
  • 32
  • 33
  • 16
  1. 在求解最优化问题时,动态规划常常涉及到两个重要性质,即最优子结构和( )。

{{ select(11) }}

  • 重叠子问题
  • 分治法
  • 贪心策略
  • 回溯算法
  1. 青蛙每次能跳1或2步,下面代码计算青蛙跳到第n步台阶有多少种不同跳法。则下列说法,错误的是( )。

image {{ select(12) }}

  • 函数jump_recur()采用递归方式。
  • 函数jump_dp()采用动态规划方法。
  • 当n较大时,函数jump_recur()存在大量重复计算,执行效率低。
  • 函数jump_recur()代码量小,执行效率高。
  1. 阅读以下二叉树的广度优先搜索代码: image

    image

使用以上算法,在以下这棵树搜索数值20时,可能的输出是( )。

image

{{ select(13) }}

  • 5 2 -4 3 17 9
  • -4 2 3 5 9 17
  • 5 2 17 -4 3 9
  • 以上都不对
  1. 同上题中的二叉树,阅读以下二叉树的深度优先搜索代码

    image

    使用以上算法,在二叉树搜索数值20时,可能的输出是( )。 {{ select(14) }}

  • 5 2 -4 3 17 9
  • -4 2 3 5 9 17
  • 5 2 17 -4 3 9
  • 以上都不对
  1. 在上题的树中搜索数值3时,采用深度优先搜索一共比较的节点数为( ) {{ select(15) }}
  • 2
  • 3
  • 4
  • 5