【C++笔试强训】第二十四天
创始人
2024-01-21 02:10:36

🎇C++笔试强训


  • 博客主页:一起去看日落吗
  • 分享博主的C++刷题日常,大家一起学习
  • 博主的能力有限,出现错误希望大家不吝赐教
  • 分享给大家一句我很喜欢的话:夜色难免微凉,前方必有曙光 🌞。

在这里插入图片描述

💦🔥


选择题

💦第一题

请指出选择排序,冒泡排序,快速排序的时间复杂度分别是()

A O(n2)、O(n2)、O(nlog2n)
B O(n
log2n)、、O(n^2)、O(nlog2n)
C O(n)、O(n2)、O(n2)
D O(n
log2n)、O(n2)、O(n2)

先进排序都是对数阶,一般排序方法都是n方
在这里插入图片描述

这道题的答案是A


💦第二题

在单链表中,增加头结点的目的是()

A 标识表结点中首结点的位置
B 算法实现上的方便
C 使单链表至少有一个结点
D 说明单链表是线性表的链式存储实现

增加头节点代码会简单些,做其他节点的插入删除两个没区别,如果是第一个节点,不带头节点需要特殊处理

请添加图片描述

这道题的答案是B


💦第三题

下列算法的功能是什么?

/*L是无头节点单链表*/
LinkList Demo(LinkList L){ListNode *Q,*P;if(L&&L->next){Q=L;L=L->next;P=L;while(P->next)P=P->next;p->next=Q;}return L;
}

根据代码的操作画图,得出结论是让链表变得循环了请添加图片描述

请添加图片描述
A 遍历链表

B 链表深拷贝

C 链表反转

D 单链表转变为循环链表

这道题的答案是D


💦第四题

表达式32^(4+22-6*3)-5求值过程中当扫描到6时,对象栈和运算符栈为(),其中 ^ 为乘幂

A 3,2,4,1,1;( * ^(+ * -
B 3,2,8;( * ^ -
C 3,2,4,2,2; ( * ^(-
D 3,2,8;*^(-

在这里插入图片描述

请添加图片描述

这道题的答案是D


💦第五题

假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为()

A 3
B 37
C 97
D 50

这道题很简单,当前是47,存50个元素,就是47+50-60 = 37

这道题的答案是B


💦第六题

一棵完全二叉树第六层有9个叶结点(根为第一层),则结点个数最多有()

A 112
B 111
C 107
D 109

第六层有九个结点,七层满二叉树的结点个数 2 ^ 7 - 1 = 128

则这棵树的结点 128 - 9 * 2 = 109

这道题主要考察二叉树的性质

这道题的答案是D


💦第七题

有权值分别为11,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()

A 24
B 71
C 48
D 53

请添加图片描述

请添加图片描述

这道题的答案是B


💦第八题

已知小根堆为8,15,10,21,34,16,12,删除关键字8之后需重建堆,最后的叶子节点为()

A 34

B 21

C 16

D 12

请添加图片描述

这道题的答案是C


💦第九题

将10个元素散列到100000个单元的哈希表中,则()产生冲突

A 一定会

B 一定不会

C 仍可能会

空间很多,数据很少,哈希最大的特点是空见少数据多,哈希函数是映射函数,保不准数据很特殊,可能还是会映射同一个地址,只不过是产生冲突的可能性减少了,不能保证一定不会产生冲突

这道题的答案是C


💦第十题

下列排序算法中,元素的移动次数与关键字的初始排列次序无关的是 () 。

A 直接插入排序

B 起泡排序

C 基数排序

D 快速排序

ABD正序和反序都不同,基数排序是不需要移动数据和比较数据的,是所有排序里面唯一的,是通过分发和收集对数据的排序

这道题的答案是C


编程题

🔥 第一题

链接:年终奖

在这里插入图片描述

  • 解题思路

本题需要使用动态规划求解。
定义f(i,j)表示从左上角走到坐标(i,j)处能获得的最大奖励。
搜索所有从左上角走到右下角的路径,找到最优路径。
f(i,j)分三种情况:
第一列:f(i, 0) = f(i-1, 0) + board(i, 0)
第一行:f(0,j) = f(0, j - 1) + b(0, j)
其它位置:f(i, j) = max{f(i-1, j), f(i, j - 1)} + board(i, j)
最后返回右下角的值。

  • 代码演示
class Bonus {
public:int getMost(vector > board) {// write code hereint row = board.size();int col = board[0]. size();vector> allPrice(row,vector (col,0));allPrice[0][0] = board[0][0];for(int i = 0;i < row;++i){for(int j = 0;j < col;++j){if(i == 0 && j == 0)continue;if(i == 0)//在第一行,只能往右走allPrice[i][j] = allPrice[i][j-1] + board[i][j];else if(j == 0)//在第一列,只能往下走allPrice[i][j] = allPrice[i-1][j] + board[i][j];elseallPrice[i][j] = max(allPrice[i][j-1],allPrice[i-1][j]) + board[i][j];}}return allPrice[row-1][col-1];}
};

🔥 第二题

链接:迷宫问题

请添加图片描述

请添加图片描述

  • 解题思路

本题可用回溯法求解 具体步骤为:

  1. 首先将当前点加入路径,并设置为已走
  2. 判断当前点是否为出口,是则输出路径,保存结果;跳转到4
  3. 依次判断当前点的上、下、左、右四个点是否可走,如果可走则递归走该点
  4. 当前点推出路径,设置为可走
  • 代码演示
#include 
#include 
using namespace std;int ROW,COL;
vector> maze;
vector> path_tmp;//临时路径
vector> path_best;//最佳路径void MazeTrack(int i ,int j)
{maze[i][j] = 1;//代表(i,j)已经走过path_tmp.push_back({i,j});//判断是否到达出口if(i == ROW - 1 && j == COL - 1){if(path_best.empty() || path_best.size() > path_tmp.size())path_best = path_tmp;}//向右走if(j+1 < COL && maze[i][j+1] == 0)MazeTrack(i, j+1);//向左走if(j-1 >= 0 && maze[i][j-1] == 0)MazeTrack(i, j-1);//向上走if(i-1 >= 0 && maze[i-1][j] == 0)MazeTrack(i-1,j);//向下走if(i+1 < ROW && maze[i+1][j] == 0)MazeTrack(i+1, j);maze[i][j] = 0;//回溯,恢复path_tmp.pop_back();
}int main()
{while(cin >> ROW >> COL){maze = vector>(ROW,vector(COL,0));//开辟迷宫空间 path_tmp.clear();path_best.clear();//输入迷宫for(int i = 0;i < ROW;++i){for(int j = 0;j < COL;++j){cin >> maze[i][j];}}MazeTrack(0,0);//从(0,0)位置开始走//输出路径for(int i = 0;i < path_best.size();++i){cout << "(" << path_best[i][0] << "," << path_best[i][1] << ")" << endl;}}return 0;
}

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
进口奶粉的排名 荷兰奶粉十大排... 越来越乱的国内奶粉市场让很多宝妈宝爸都不知道该如何选择奶粉品牌,宝宝的安全是第一位,奶粉的质量以及口...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
不用扬鞭自奋蹄 乘势而上千帆竞... 思明区正全力向“两个进位”目标发起冲刺,努力为建设高素质高颜值现代化国际化的厦门作出“思明贡献”。(...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...