数据结构
C. J.
这个作者很懒,什么都没留下…
展开
-
线性表优化问题
(15)假设线性表只有4种基本操作:删除第一个元素;在第一个元素之前插入新元素;在最后一个元素之后插入新元素,则最好使用()原创 2022-09-28 10:56:01 · 683 阅读 · 1 评论 -
刷题统计C题
这是前两天刚结束的第十三届蓝桥杯的C++ B组的C题目,今年因为疫情的特殊原因采取了线上线下两种比赛方式。本题的核心是模运算,在刚开始拿到题目的时候进行分析后想到用暴力+枚举的方法来计算,还把数据范围扩到了long long类型的,然而还是tle了(笑哭).附上比赛时候提交的代码#include<bits/stdc++.h>using namespace std;typedef long long ll;int main(){ ll a,b,n; cin>>.原创 2022-04-13 14:03:31 · 639 阅读 · 0 评论 -
走迷宫-蓝桥杯
这是一道经典的bfs搜索题目,前几年蓝桥杯酷爱出这种题目,我记着2019年就B组就出过一道走迷宫题,不过那道题可以拿Excel走出来。下面我们对这道题目进行分析,先开一个二维数组定义可能走的路径,用结构体来确定带点的坐标和步长,写bfs时通过引入队列来进行搜索,再结合标记数组将访问过的路径置为1(true),未访问过的看作0,最后判断入栈,最终得出结果。贴上代码。#include<iostream>#include<queue>using namespace std;c...原创 2022-04-08 11:08:00 · 760 阅读 · 0 评论 -
砝码称重-蓝桥杯
本题我们用C++中的STL容器来做,通过vector和set(去重功能)来存放砝码,先初始化vector容器后再进行遍历,最后输出即可。#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; vector<int>a(n); for(int i=0;i<n;i++) { cin>>a[i]; } se...原创 2022-04-04 23:46:47 · 786 阅读 · 0 评论 -
灌溉-蓝桥杯
本题是一道基于模拟思想的题目,核心思想是构建一个哈希表(如数组)存储这个花园,然后通过0,1标记灌溉与未灌溉。写个灌溉函数,最后通过0或1的个数即可求解。#include<bits/stdc++.h>using namespace std;int n,m,k;int t; //出水管的数量pair<int,int>p;const int N=110;int b[N][N];int cnt=0;void judge(int i,int j){ ...原创 2022-03-29 10:56:09 · 438 阅读 · 0 评论 -
递归实现排列型枚举
初学者看了递归会流泪,本文待您走进递归的奇妙世界。原创 2022-03-21 21:06:47 · 287 阅读 · 0 评论 -
判断两个double型浮点数的大小
在C/C++中,我们经常要使用浮点型数据表示变量,那么对于浮点数就设计到精度问题,如何判断两个浮点数是否相等呢? 比如当我们比较来个实数a和b是否相等时,可以将其转换成浮点数进行比较,但当我们比较1.0000001和1.0在绝大数情况下都是相等的,这就设计到浮点数的精度问题。此时我们引入一个宏常量eps_0,一般设置为很小的数,如1e-6或1e-7,直观来说就是两个数相差很少时就认为它是相等的。 所以设计如下的C++代码。bool isEqual(const double a, const do..原创 2022-03-07 20:17:24 · 397 阅读 · 0 评论 -
7-3 树的遍历 (25 分)
给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:72 3 1 5 7 6 41 2 3 4 5 6 7输出样例:4 1 6 3 5 7 2话不多说,上代码。#include<iostr.原创 2021-11-24 15:12:03 · 324 阅读 · 2 评论 -
数据结构--树 练习题
4-1 某二叉树的前序和后序遍历序列正好相反,则该二叉树一定是 (4分) 空或只有一个结点高度等于其结点数任一结点无左孩子任一结点无右孩子作者: DS课程组 单位: 浙江大学 4-2 已知一棵二叉树的先序遍历结果是ABC,则以下哪个序列是不可能的中序遍历结果: (4分) ABCBACCBACAB作者: DS课程组 单位: 浙江大学 4-3 如果二叉树...转载 2021-11-12 20:43:01 · 3568 阅读 · 0 评论 -
7-1 求最小值和次小值 (25 分)
问题描述本题目要求读入n个整数,要求用最少的比较次数,输出它们的最小值和次小值。例如,对于12 13 1 10 34 1这6个数,最小值为1,次小值为10。输入格式:输入有两行。第一行为整数个数n(≤1 000 000),第二行给出n个以空格分隔的整数。输出格式:对每一组输入,在一行中输出最小值和次小值,中间以一个空格分隔,但行尾没有多余空格。如果输入数据不足两个,则输出“Invalid Input”。如果没有次小值,则输出“There is no second smallest elemen.原创 2021-11-03 14:33:11 · 2887 阅读 · 2 评论 -
八皇后问题
问题描述:八皇后问题八皇后问题(英文:Eight queens),是由国际象棋棋手马克斯·贝瑟尔于1848年提出的问题,是回溯算法的典型案例。在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。如果经过±90度、±180度旋转,和对角线对称变换的摆法看成一类,共有42类。计算机发明后,有多种计算机语言可以编程解决此原创 2021-10-27 10:29:24 · 259 阅读 · 3 评论