
pat
文章平均质量分 87
村里唯一的希望呀
这个作者很懒,什么都没留下…
展开
-
算法笔记第十章图
图的遍历A1013本题考察是连通块的计算以及如何分割一个点。本题需要知道增加最少的边使图联通的数为连通块的数量减1。对于无权图最好使用邻接表,直接用vector数组即可。用dfs方法,每次碰到分割点时就直接返回,最后计算调用了几次dfs函数就有几个连通块,而所求答案就是连通块数减1.#include<bits/stdc++.h>using namespace std;const int N = 1010;vector<int> G[N];int n, m, k原创 2022-01-24 18:16:09 · 278 阅读 · 0 评论 -
算法笔记第九章树
9.2二叉树的遍历A1020本题考察的是由中序序列和其他一个遍历序列建树的算法。关键是写出建树的函数。由于我们要建树,所以返回值可以用node*来表示。又因为要递归表示,所以要注意结束条件。#include<cstdio>#include<queue>#include<algorithm>using namespace std;const int N = 30;struct node{ int data; node* lchild;原创 2022-01-08 11:22:31 · 494 阅读 · 0 评论 -
算法笔记第四章(4.2~4.7内容+上机代码)
算法笔记第四章4.2 散列字符串哈希初步对应pat题目A1084B1033A10924.2 散列散列分为整数散列和字符串散列,当出现冲突时有三种方法解决冲突:1.线性探查法: 检查H(key)+1是否被占,若没有使用该位置如果被占继续检查下一个。如果检查过程中超过了表长就回到表首位继续循环。缺点是容易出现扎堆现象。2.平方探查法: 为了防止出现扎堆现象,按照H(key)+12,H(key)-12,H(key)+2,H(key)-22的顺序检查。如果检查过程中H(key)+k2超过表长就把H(key)原创 2021-08-11 23:22:59 · 1112 阅读 · 0 评论 -
算法笔记4.1排序
排序A1062本题关键是如何分类和写cmp函数。在结构体里增加flag表示为每个学生的等级。在读入的数据的时候对数据进行分类即可。#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N = 100010;struct Person{ int de, cai, sum; int id; int flag;}stu[N];原创 2021-07-23 13:44:54 · 118 阅读 · 0 评论 -
算法笔记3.6字符串处理(pat题目)
算法笔记3.6字符串处理(pat题目B类题目B1021B1031B002B1009A类题目B类题目B1021因为本题是个1000位的整数所以用字符串读入比较适合,设置一个数组计数,结束以后不为0的就输出,类似于桶排法#include<cstdio>#include<cstring>int main(){ char str[1010]; scanf("%s", str); int len = strlen(str); int cnt[10]原创 2021-07-11 17:54:56 · 174 阅读 · 0 评论 -
算法笔记3.1(pat题目)
算法笔记3.1入门模拟重点题目(pat题目)题目序号:B类题目B016B1026B1008B1012B1018B1010A类题目A1042A1046A1065A1002A1009题目序号:算法笔记上级训练重点题目:B1016B1026B1016B1016B1016第一列第二列第三列sssB类题目B016本题主要考察的是如何分解一个数字,一般分解正数从低位到高位分解。主要为两个步骤。1. int i = a % 10(用于得到最低位)2. a原创 2021-06-13 23:45:50 · 328 阅读 · 0 评论 -
算法笔记3.2 - 3.5(pat题目
算法笔记3.2 - 3.5(pat题目)B类题目学习时间:学习产出:B类题目##:学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、优快云 技术博客 3 篇3、 学习的 vlog 视频 1 个...原创 2021-07-08 23:00:17 · 161 阅读 · 0 评论