PAT甲级
TodayMagic
这个作者很懒,什么都没留下…
展开
-
PAT甲级 1102 Invert a Binary Tree (25 分)
题目大意: 一颗二叉树有 NNN 个结点,编号从 0∼N−10 \sim N - 10∼N−1,先给出每个结点的左右结点编号(如果左右结点不存在用 −-− 表示)。现在请你输出该二叉树的反转二叉树的层序遍历和中序遍历。 思路: 这是一道非常典型的数据结构题。因为根节点没有父亲节点, 我们先利用输入找出根结点。中序遍历的顺序是:左跟右, 那么反转二叉树对应原树中的顺序就是:右根左,然后利用 dfsdfsdfs 就能找出这个序列。同理,一般我们求层序遍历都是用 bfsbfsbfs, 因为广搜的性质就是按照半径来原创 2021-10-21 20:08:52 · 140 阅读 · 0 评论 -
PAT甲级 1099 Build A Binary Search Tree (30 分)
题目大意: 给出了一颗含有N个结点的树的结构,即每个结点的左子树编号和右子树编号,现在有N个数要放到这颗树的结点上,使之满足二叉搜索树的性质。 思路: 二叉搜索树的性质: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树 根据性质和中序遍历的特点,即该树中序遍历(左根右)的结点的值一定是从小到大排序,只需将输入的结点值排序。然后我们可以根据中序遍历来重构这颗树,再利用bfs求得层序遍历。总体来原创 2021-10-14 19:47:04 · 88 阅读 · 0 评论 -
PAT甲级 1101 Quick Sort (25 分)
题目链接1101 Quick Sort 题目大意: 给定一个数组 aaa , 数组中有多少个元素 aia_iai 满足 aia_iai 大于等于左边的所有元素且 aia_iai 小于等于右边的所有元素。请输出满足元素的所有个数和元素。 思路: 求出两个数组 l[i]l[i]l[i] 和 r[i]r[i]r[i], 其中 $ l[i]$ 表示当前 iii 左边的最大值, r[i]r[i]r[i] 表示当前 iii 右边的最小值。然后依次判断就行了。 代码 #include <原创 2021-10-12 20:19:08 · 64 阅读 · 0 评论