
算法
习惯沉淀,
又惘又怠,既稚且拙
展开
-
[算法]“百万级”浮点数排序
1_百万数据[IO/sort/vector]排序问题三步:读文件、排序、写文件一.读文件二、读文件后检测容器大小和已知数据的匹配关系,设置数据精度三、排序(C++内置sort)四、写文件(※)排序问题三步:读文件、排序、写文件一.读文件1.整体三秒版读文件[以行为单位的double数读入vector][应用了filebuf->sgetn、ifstream.rdbuf()、istri...原创 2019-02-10 22:45:07 · 1731 阅读 · 1 评论 -
[算法] CCF经验技巧总结
https://blog.youkuaiyun.com/qq_39088036/article/details/79598270原创 2019-07-30 17:49:53 · 1829 阅读 · 0 评论 -
[算法]序列合并模板
//用两个数组,两个索引变量#include<iostream>#include<vector>#include<cstdio>#include<string>#include<string.h>#include<stdio.h>#include<iomanip>#include<stdli...原创 2019-03-30 09:57:52 · 183 阅读 · 0 评论 -
[算法]冒泡排序模板
冒泡排序模板#include <iostream>#include<cstdio>using namespace std;//bubbleSortvoid bubbleSort(int a[], int n){//这里int a[] 其实就是数组的首地址;n是数组中待排序元素的个数,不是下标 int tmp = 0; for(int i=0;i&...原创 2019-03-22 21:09:34 · 478 阅读 · 0 评论 -
[算法]PAT-A_1094_DFS遍历树
#include<cstdio>#include<vector>using namespace std;const int maxn = 100010;struct Node{ vector<int> child;}node[maxn];int n, m;int eachlevelnum[110] = {0};void DFS(in...原创 2019-02-26 22:28:18 · 133 阅读 · 0 评论 -
[算法]PAT-A_DFS模板
#include<vector>#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>using namespace std;const int maxn = 10010;vector<int> temp, ans;int...原创 2019-02-28 18:29:36 · 171 阅读 · 0 评论 -
[算法]PAT-A_1102_二叉树反转遍历
#include<cstdio>#include<queue>#include<algorithm>using namespace std;const int maxn = 110;struct node{ int lchild, rchild;}nodes[maxn];int num = 0;int n;bool notRoot...原创 2019-02-25 22:32:29 · 176 阅读 · 0 评论 -
[算法]PAT-A_1043_镜像二叉排序树(BST、MBST)
//镜像二叉查找树//以某输入序列作为BST的构建序列,保存到vector<int> input//先序遍历或者镜像先序遍历BST,判断输入序列是否与其中之一相同//若是,输出YES,并输出后序遍历或者镜像后序遍历//否则,输出NO,结束#include<cstdio>#include<vector>#include<iostream>...原创 2019-02-27 12:57:00 · 259 阅读 · 0 评论 -
[算法]PAT-A_1099_二叉排序树框架搭建+中序遍历数据填入+层序遍历模板
//这道题是给出BST的结构,也就是每个结点的序号与其左右孩子的结点号,再给出一组值,要求填入的问题//最后的输出是BST的层序遍历//方法是,先创建结点数组(静态树),在输入的过程中将左右孩子结构搭建好//对于一组data,先存到数组中,然后对其进行递增排序//然后中序遍历结点数组,inOrder参数是根结点号,分别递归左子树(参数为lchild)、修改data值、递归右子树//修改...原创 2019-02-27 13:54:34 · 174 阅读 · 0 评论 -
[算法]PAT-A_1013_无向图创建+连通块个数DFS
//用一个向量数组代表邻接表,每个元素是一个顶点,向量里存储的是其邻接的顶点//写一个DFS(int v) 代表去遍历顶点v所在的连通块,其中,若遍历到的结点正好是本轮删除的结点,直接返回//然后对该顶点的bool置为已查询,再对其每一个邻接顶点,若它的bool是未查询,则递归DFS//在主函数中先输入n m k等信息,输入邻接关系,然后对于每一个查询k去循环//循环之外 有一个代表连通...原创 2019-02-28 09:41:40 · 228 阅读 · 0 评论 -
[算法]PAT-A_1034_邻接矩阵+计算连通分支数+DFS策略+map使用
//用邻接矩阵存储//用到了map,string int; int string; string_head_name int numbers三者//在DFS中的参数是当前访问结点号int currentPoint, 当前头目 int& head, 当前团伙人数int& gangnum, 当前总权值int& value// 令gangnum++;然后对每个人遍历 如...原创 2019-02-28 11:24:30 · 444 阅读 · 0 评论 -
[算法]PAT-A_1076_邻接表+有向图+由某个起始位置开始遍历+指定层数+输出遍历顶点数+BFS
//该题以邻接表为数据结构,那么每个顶点与哪些顶点相邻接,在数据输入时已经决定//后续遍历时,直接对邻接表的每一项进行大小遍历即可//在本题中,由输入决定遍历的起始结点和最大遍历层数//在遍历时,用BFS策略,每个结点设计一个node,存储了索引号和层数//输出是从某个结点开始所经过的所有结点数,对应微博转发数(不包括起始结点)#include<queue>#includ...原创 2019-02-28 12:21:11 · 307 阅读 · 0 评论 -
[算法]PAT-A_1003_邻接矩阵+最短路径+Dijkstra
更新内容:源程序的算法理解之后,用例只对了一个,经过排查发现是fill()和memset()的用法不清造成的。//fill()按照单元赋值,将一个区间内的元素都赋同一个值,使用的话需要algorithm头文件//memset()是按照字节填充内容,在头文件cstring中//因此memset一般都是用来填充char型数组的,对于int类型数组只能填充0或者-1//而fill对于in...原创 2019-02-28 15:12:56 · 214 阅读 · 0 评论 -
[算法]PAT-A_1030_双邻接矩阵Dijkstra
//这道题是最短路径问题的练手题,边权除了距离之外还加上了费用//只需要开两个分别代表距离和费用的邻接矩阵即可//采用的方法1,Dijkstra//尝试一下#include<iostream>#include<stdlib.h>#include<cstring>#include<algorithm>#include<cstdi...原创 2019-02-28 16:38:39 · 240 阅读 · 0 评论 -
[算法]PAT-A_BFS模板
//给定一个m*n矩阵,与(x,y)点相邻的上下左右四个点为研究对象,若其中有包含(x,y)在内的连续的1,则构成一个块//题目求解一个矩阵中块的个数//该题在题库中有三维矩阵类似题目,都是BFS方法完成//这里将本题作为BFS的模板题,运用queue实现#include<queue>#include<vector>#include<cstdio>...原创 2019-02-28 18:48:13 · 202 阅读 · 0 评论 -
[算法] 浙江大学PAT历年真题以及模拟题 牛客网
https://www.nowcoder.com/pat原创 2019-07-30 17:51:09 · 2877 阅读 · 0 评论