
PAT
111111用户昵称不存在00000
这个作者很懒,什么都没留下…
展开
-
PATL2-006.树的遍历
PATL2-006.树的遍历 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。 题解: 根据中序遍历(左中右),后序遍历(左右中); 由每次后续遍历区间的最后一个节点为跟节点,在中序遍历中找到这个节点即可将树的左子树和右子树区分,通过递归不断还原整棵树。#include <stdio.h>#include <iostream>#原创 2017-02-28 20:10:03 · 1238 阅读 · 0 评论 -
L2-011. 玩转二叉树
PATL2-011. 玩转二叉树 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。。 题解: 根据中序遍历(左中右),前序遍历(中左右); 由每次前序遍历区间的第一一个节点为跟节点,在中序遍历中找到这个节点即可将树的左子树和右子树区分,通过递归不断还原整棵树。原创 2017-02-28 20:17:58 · 651 阅读 · 0 评论 -
PATL3-010. 是否完全二叉搜索树
L3-010. 是否完全二叉搜索树 将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。 通过线段树的构建方法对所有点建二叉搜索树,则可在构建了一棵无键值节点均为0的完全二叉树。之后通过层次遍历判断这棵树在遍历完这n个节点的过程中是否出现为空的叶子节点判断是否是完全二叉搜索树。#include原创 2017-02-28 23:31:47 · 774 阅读 · 0 评论 -
PATL2-004. 这是二叉搜索树吗?
L2-004. 这是二叉搜索树吗? 一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点, 其左子树中所有结点的键值小于该结点的键值; 其右子树中所有结点的键值大于等于该结点的键值; 其左右子树都是二叉搜索树。 所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。 给定一个整数键值序列,现请你编写程序,判断这是否是对一棵二叉搜索原创 2017-03-01 16:52:00 · 1058 阅读 · 0 评论 -
PATL2-007. 家庭房产-并查集
L2-007. 家庭房产 题目: 给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数、人均房产面积及房产套数。 输入格式: 输入第一行给出一个正整数N(<=1000),随后N行,每行按下列格式给出一个人的房产: 编号 父 母 k 孩子1 … 孩子k 房产套数 总面积 其中 编号 是每个人独有的一个4位数的编号;父 和 母 分别是该编号对应的这原创 2017-03-07 23:34:27 · 2716 阅读 · 0 评论 -
PATL2-010. 排座位-并查集
L2-010. 排座位 题目: 输入第一行给出3个正整数:N(<= 100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的关系,格式为:“宾客1 宾客2 关系”,其中“关系”为1表示是朋友,-1表示是死对头。注意两个人不可能既是朋友又是敌人。最后K行,每行给出一对需要查询的宾客编号。 这里假设朋友的朋友原创 2017-03-08 15:38:58 · 729 阅读 · 0 评论 -
PATL3-003. 社交集群-并查集
L3-003. 社交集群 题目: 在社交网络平台注册时,用户通常会输入自己的兴趣爱好,以便找到和自己兴趣相投的朋友。有部分兴趣相同的人们就形成了“社交集群”。现请你编写程序,找出所有的集群。 输入格式: 输入的第一行给出正整数N(<=1000),即社交网络中的用户总数(则用户从1到N编号)。随后N行,每行按下列格式列出每个人的兴趣爱好: Ki: hi[1] hi[2原创 2017-03-08 17:04:43 · 832 阅读 · 0 评论