PAT甲级专题|树的遍历】的更多相关文章

PAT甲级专题-树的遍历 涉及知识点:树.建树.深度优先搜索.广度优先搜索.递归 甲级PTA 1004 输出每一层的结点,邻接表vector建树后.用dfs.bfs都可以边搜边存当前层的数据, #include<bits/stdc++.h> using namespace std; const int maxn = 110; int n, m; vector<int> g[maxn]; int ans[maxn]; int deep = 0; void dfs(int x, int…
PAT链表专题 关于PAT甲级的链表问题,主要内容 就是"建立链表" 所以第一步学会模拟链表,pat又不卡时间,这里用vector + 结构体,更简洁 模拟链表的普遍代码 const int maxn = 1e6+10; struct node{ int address; int next; char key; }nod[maxn]; int head1,n; vector<node> list1; cin>>head1>>n; for(int i=…
PAT甲级最短路 主要算法:dijkstra 求最短最长路.dfs图论搜索. 1018,dijkstra记录路径 + dfs搜索路径最值 25分,错误点暂时找不出.. 如果只用dijkstra没法做,只能得20分 #include<bits/stdc++.h> using namespace std; const int inf = 0x3f3f3f3f; const int maxn = 510; int cmax,n,ter,m; int caps[maxn]; int g[maxn][m…
思路:直接遍历整棵树判定每个结点是否有孩子,没有则把当前高度的叶子节点数加一. AC代码 #include <stdio.h> #include <string.h> #include <algorithm> #include <vector> using namespace std; const int maxn = 100+5; vector<int> G[maxn]; int level[maxn]; int height; void df…
题目链接:https://www.patest.cn/contests/gplt/L2-006 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 输入格式: 输入第一行给出一个正整数N(<=),是二叉树中结点的个数.第二行给出其后序遍历序列.第三行给出其中序遍历序列.数字间以空格分隔. 输出格式: 在一行中输出该树的层序遍历的序列.数字间以1个空格分隔,行首尾不得有多余空格. 输入样例: 输出样例: 题意:给出一棵树的后序与中序遍历,输出层序遍历…
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805521431773184 思路: (1)用vector记录每个非叶子节点的子节点 (2)通过dfs记录每一层的节点的个数,并记录最高层的节点数量 (3)从0开始,遍历每一层. #include<iostream> #include<cstdio> #include<cstring> #include<vector> us…
一次考试经历 今天是"大雪",很冷. 来到隔壁的学校考试,记得上一次来河中医是两年前大一刚开学吧,那天晚上印象比较深刻,6个室友骑车到处闲逛.当时还不会Hello world. 很巧,遇到了一年前在网络上一起准备蓝桥杯的小伙伴,考前,相约明年再来考一次..然而,下次可能不会再来了. A题:字符串处理 B题:模拟链表 C题:图论,简单的邻接矩阵判断顶点相连 D题:小根堆,给出中序序列建树,输出层序遍历的序列. 除了第一题以外,其他三题都和往年的题型一样的. 第一题字符串看起来就比较难处理…
给定先序中序遍历的序列,可以确定一颗唯一的树 先序遍历第一个遍历到的是根,中序遍历确定左右子树 查结点a和结点b的最近公共祖先,简单lca思路: 1.如果a和b分别在当前根的左右子树,当前的根就是最近祖先 2.如果根等于a或者根等于b了,根就是最近祖先:判断和a等还是和b等就行了 3.如果都在左子树上,递归查左子树就可以了.这里找到左子树的边界和根(通过先序中序序列) 4.如果都在右子树上,递归查右子树. 代码1:不建树的做法,参考柳婼blog~ #include<bits/stdc++.h>…
本文为PAT甲级分类汇编系列文章. AVL树好难!(其实还好啦~) 我本来想着今天应该做不完树了,没想到电脑里有一份讲义,PPT和源代码都有,就一遍复习一遍抄码了一遍,更没想到的是编译一遍通过,再没想到的是运行也正常,最没想到的是一遍AC. 其实很多题都有数,std::set 之类用的是红黑树,据说很复杂,比AVL树还要复杂的那种.但是,用到这些设施的题,都不在这一分类下,这一分类下的题,因为题目要求自己建树,也就不用标准库设施了. 大多数题中,树在内存中都是连续存放的.不是像完全二叉树那样的连…
L2-006. 树的遍历 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 输入格式: 输入第一行给出一个正整数N(<=30),是二叉树中结点的个数.第二行给出其后序遍历序列.第三行给出其中序遍历序列.数字间以空格分隔. 输出格式: 在一行中输出该树的层序遍历的序列.数字间以1个空格分隔,行首尾不得有多余空格. 输入样例: 7 2…
L2-006. 树的遍历 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 输入格式: 输入第一行给出一个正整数N(<=30),是二叉树中结点的个数.第二行给出其后序遍历序列.第三行给出其中序遍历序列.数字间以空格分隔. 输出格式: 在一行中输出该树的层序遍历的序列.数字间以1个空格分隔,行首尾不得有多余空格. 输入样例: 7 2…
树 目录 <算法笔记>重点摘要 1004 Counting Leaves (30) 1053 Path of Equal Weight (30) 1079 Total Sales of Supply Chain (25) 1090 Highest Price in Supply Chain (25) 1094 The Largest Generation (25) 1106 Lowest Price in Supply Chain (25) <算法笔记> 9.2 树的遍历 重点摘要…
2019 秋季 PAT 甲级 备考总结 在 2019/9/8 的 PAT 甲级考试中拿到了满分,考试题目的C++题解记录在这里,此处对备考过程和考试情况做一个总结.如果我的方法能帮助到碰巧点进来的有缘人那就更好了Orz 目录 一.备考内容 1.  <算法笔记>(←阅读内容目录在这里) 2. PAT 题库刷题 3. 题型总结 + 刷题笔记 (←笔记目录在这里) 二.考试情况 1. 考前准备 2. 考试过程 3. 对这次考试的总结(碎碎念,可忽略) 一.备考内容 1.  <算法笔记>…
今天开个坑,分类整理PAT甲级题目(https://pintia.cn/problem-sets/994805342720868352/problems/type/7)中1051~1100部分.语言是modern C++. 为什么要整理呢,因为我2019年9月要考PAT甲级,虽然是第一次考,虽然只学了数据结构(https://mooc.study.163.com/course/1000033001?tid=2402970002#/info),但我要冲着高分(2019年9月8日更新:满分)去. 下…
1001. A+B Format (20) 注意负数,没别的了. 用scanf来补 前导0 和 前导的空格 很方便. #include <iostream> #include <cstdio> using namespace std; ]; int main() { int A,B; cin>>A>>B; A+=B; ) { A=-A; cout<<"-"; } ; while(A) { a[n++]=A%; A/=; } ;…
博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/6102219.html特别不喜欢那些随便转载别人的原创文章又不给出链接的所以不准偷偷复制博主的博客噢~~ 时隔两年,又开始刷题啦,这篇用于PAT甲级题解,会随着不断刷题持续更新中,至于更新速度呢,嘿嘿,无法估计,不知道什么时候刷完这100多道题. 带*的是我认为比较不错的题目,其它的难点也顶多是细节处理的问题~ 做着做着,发现有些题目真的是太水了,都不想写题解了…
PAT甲级1127. ZigZagging on a Tree 题意: 假设二叉树中的所有键都是不同的正整数.一个唯一的二叉树可以通过给定的一对后序和顺序遍历序列来确定.这是一个简单的标准程序,可以按顺序打印数字.但是,如果您认为问题太简单,那么您太天真了. 这次你应该以"锯齿形顺序"打印数字 - 也就是说,从根开始,逐级打印数字,从左到右交替,从右到左.例如,对于以下树,您必须输出:1 11 5 8 17 12 20 15. 输入规格: 每个输入文件包含一个测试用例.对于每种情况,第…
PAT甲级1123. Is It a Complete AVL Tree 题意: 在AVL树中,任何节点的两个子树的高度最多有一个;如果在任何时候它们不同于一个,则重新平衡来恢复此属性.图1-4说明了旋转规则. 现在给出一系列插入, 您应该输出生成的AVL树的级别遍历序列,并告知它是否是完整的二叉树. 输入规格: 每个输入文件包含一个测试用例.对于每种情况,第一行包含正整数N(<= 20). 一行中的所有数字都以空格分隔. 输出规格: 对于每个测试用例,将键逐个插入到初始空的AVL树中.然后首先…
PAT甲级1119. Pre- and Post-order Traversals 题意: 假设二叉树中的所有键都是不同的正整数.一个唯一的二进制树可以通过给定的一对后序和顺序遍历序列来确定,也可以通过预序和顺序遍历序列来确定.然而,如果仅给出了后序和预序遍历序列,则相应的树可能不再是唯一的. 现在给出一对postorder和preorder遍历序列,你应该输出树的相应的顺序遍历序列.如果树不是唯一的,只需输出任何一个树. 输入规格: 每个输入文件包含一个测试用例.对于每种情况,第一行给出正整数…
PAT甲级考前整理一:https://www.cnblogs.com/jlyg/p/7525244.html,主要讲了131题的易错题及坑点 PAT甲级考前整理二:https://www.cnblogs.com/jlyg/p/10364696.html,主要讲了考前注意以及一些常用算法. 1132题:用字符串接收会毕竟快,使用atoi函数转成数字,注意a*b会超出int32. #include<iostream> #include<cstdio> #include<set&g…
PAT甲级考前整理之一网址:https://www.cnblogs.com/jlyg/p/7525244.html,主要总结了前面131题的类型以及易错题及坑点. PAT甲级考前整理三网址:https://www.cnblogs.com/jlyg/p/10364727.html主要是讲132题开始的题目. 考前注意: 1.写函数(有返回值的函数)容易忘记返回值,可能本地运行没问题,但是提交了就会有问题. 2.不要把strlen()函数写到for.while的循环中,有时候会超时,最好是 int…
   转载请注明出处:https://www.cnblogs.com/jlyg/p/7525244.html 终于在考前,刷完PAT甲级131道题目,不容易!!!每天沉迷在刷题之中而不能超脱,也是一种境界.PAT甲级题目总的说卡题目的比较多,卡测试点的比较少,有些题目还会有题意混淆,这点就不吐槽了吧.静下心来耍这130道题,其实磨练的是一种态度与手感,养成的是一种习惯.热爱AC没有错!!(根据自己的刷题情况持续更新中,这次是第二遍刷了,发现换了新网站后,oj严格很多了,有些之前可以过的,现在已经…
最短路径 Emergency (25)-PAT甲级真题(Dijkstra算法) Public Bike Management (30)-PAT甲级真题(Dijkstra + DFS) Travel Plan (30)-PAT甲级真题(Dijkstra + DFS,输出路径,边权) All Roads Lead to Rome (30)-PAT甲级真题-Dijkstra + DFS Online Map (30)-PAT甲级真题(Dijkstra + DFS) 最短路径扩展问题 要求数最短路径有多…
本文为PAT甲级分类汇编系列文章. 理论这一类,是让我觉得特别尴尬的题,纯粹是为了考数据结构而考数据结构.看那Author一栏清一色的某老师,就知道教数据结构的老师的思路就是和别人不一样. 题号 标题 分数 大意 Author 1051 Pop Sequence 25 判断一个序列是否是pop序列 CHEN, Yue 1052 Linked List Sorting 25 链表排序 CHEN, Yue 1057 Stack 30 一个有中位数功能的stack CHEN, Yue 1074 Rev…
专题一  字符串处理 A1001 Format(20) #include<cstdio> int main () { ]; int a,b,sum; scanf ("%d %d",&a,&b); sum=a+b; ) { printf ("-"); sum=-sum; } ; ) { s[top++]=; } ) { s[top++]=sum%; sum/=; } ;i>=;i--) { printf ("%d"…
同上一篇博客: 贪心题目我已经刷了将近30道了,由于那几天考驾照就没写,以后有空的时候补过来吧,都在codeblock里 pat的题也刷了点,acwing 的题也刷了点,基本都攒下了.以后也会慢慢补过来的 这几天都在备战四级,上午司机下午算法,有点忙不过来就一直没写博客,今天打完比赛就想趁热写一下吧,正好昨天也做了22年夏的甲级考试 来说说pat甲级: 第一次做pat甲级考试真题感受,一共4道题须在3个小时内做完,我感觉这真的是时间很充裕了 同时四道题的难度可能也是逐级拉开的,通常甲级前两道题是…
PAT甲级1087. All Roads Lead to Rome 题意: 确实有从我们这个城市到罗马的不同的旅游线路.您应该以最低的成本找到您的客户的路线,同时获得最大的幸福. 输入规格: 每个输入文件包含一个测试用例.对于每种情况,第一行包含2个正整数N(2 <= N <= 200),城市数,K, 双城之间的路线总数;其次是起始城市的名称.下一个N-1行每个都给出一个城市的名字和一个整数,代表从城市可以获得的幸福,除了起始城市.然后K行跟随,每个描述两个城市之间的路线,格式为"C…
PAT甲级1066. Root of AVL Tree 题意: 构造AVL树,返回root点val. 思路: 了解AVL树的基本性质. AVL树 ac代码: C++ // pat1066.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include<cstdio> #include<string> #include<algorithm> #include&l…
PAT甲级1057. Stack 题意: 堆栈是最基础的数据结构之一,它基于"先进先出"(LIFO)的原理.基本操作包括Push(将元素插入顶部位置)和Pop(删除顶部元素).现在你应该实现一个额外的操作堆栈:PeekMedian - 返回堆栈中所有元素的中间值.对于N个元素,如果N是偶数,则将中值定义为(N / 2)个最小元素,或者如果N是奇数则将其定义为((N + 1)/ 2). 输入规格: 每个输入文件包含一个测试用例.对于每种情况,第一行包含正整数N(<= 105).然后…
PAT甲级1021. Deepest Root 题意: 连接和非循环的图可以被认为是一棵树.树的高度取决于所选的根.现在你应该找到导致最高树的根.这样的根称为最深根. 输入规格: 每个输入文件包含一个测试用例.对于每种情况, 第一行包含正整数N(<= 10000),它是节点的数量,因此节点从1到N编号.然后按N-1行,每个都通过给定两个相邻节点的数字来描述一个边. 输出规格: 对于每个测试用例,打印一行中最深的根.如果这样的根不是唯一的, 打印他们的数字增加的顺序.在给定的图形不是树的情况下,打…