数据结构
文章平均质量分 55
R_1220
接下来是雪花,圣诞,新年,和更好的我们
展开
-
1004 Counting Leaves
To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem is that there are always some confusing passwords since it is hard to distinguish 1 (one) from l (L in lowercase), or 0 (zero) from O (o in uppercase). One原创 2023-01-03 23:38:36 · 150 阅读 · 1 评论 -
7-6 二叉树的基本运算
本习题为二叉树的基本运算练习,要求依次实现如下功能:输入一个使用“括号表示法”表示的二叉树,每个节点的数据为一个字符,请使用二叉链的存储方式构建二叉树B。使用中序遍历法遍历构建的二叉树,输出中序遍历的序列。输出该二叉树的高度(深度),其中,根节点作为第1层。计算该二叉树中所有叶子节点的个数。将该二叉树的左右子树进行交换,生成一个新的二叉树T。将新生成的二叉树 T 使用括号表示法表示,并输出该括号表示法的结果。输入格式:输入一个不带空格的字符串,以换行结尾。输出格式:“中序遍历”输出的原创 2022-11-22 13:56:04 · 634 阅读 · 0 评论 -
1013 Battle Over Cities
It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed. We must know immediately if we need to repair any other highways to keep the rest of the c原创 2022-11-21 14:51:51 · 390 阅读 · 0 评论 -
7-3 二叉树路径和II
编写程序找出非空二叉树中和最大的路径,二叉树结点为不等于0的整数。本题的“路径”定义为二叉树中的结点序列vi,...,vj,序列中前一个结点是后一个结点的父结点,但路径不一定是以根结点为起点,也不一定是以叶结点为终点。路径的和定义为该路径所包含的所有结点的数据值之和。原创 2022-11-07 15:33:45 · 498 阅读 · 0 评论 -
二叉树路径和(C语言)
编写程序找出二叉树中和最大的路径,二叉树结点为不等于0的整数。本题的“路径”限定为以根结点为起点,以叶结点为终点的路径。路径的和,即该路径所包含的所有结点的数据值之和。原创 2022-10-27 00:55:29 · 1005 阅读 · 0 评论 -
1098 Insertion or Heap Sort(堆排序解释)(PAT甲级)
堆排序是对选择排序的改进,利用数据结构来排序。1.编写向下过滤函数percDown2.建立最大堆3.每次将堆顶(即最大值)与最后一个元素交换,然后“抛弃”最后一个元素,知道将最大堆转换成升序数组我们根据父节点和子节点的大小关系来判断是否需要交换父子结点,使得满足最大堆序。由于最大堆一定是完全二叉树,所以我们可以用数组存储数据。由于需要满足每个父节点都比起子节点大,自然的想到,从最后一个父节点开始做判断。那么传入的第一个父节点的下标就是(len / 2 - 1) 其中len是数组长度。 如上图所示,我们找到原创 2022-06-23 16:33:59 · 562 阅读 · 0 评论 -
7-13 地下迷宫探索(邻接表)
地道战是在抗日战争时期,在华北平原上抗日军民利用地道打击日本侵略者的作战方式。地道网是房连房、街连街、村连村的地下工事,如下图所示。我们在回顾前辈们艰苦卓绝的战争生活的同时,真心钦佩他们的聪明才智。在现在和平发展的年代,对多数人来说,探索地下通道或许只是一种娱乐或者益智的游戏。本实验案例以探索地下通道迷宫作为内容。假设有一个地下通道迷宫,它的通道都是直的,而通道所有交叉点(包括通道的端点)上都有一盏灯和一个开关。请问你如何从某个起点开始在迷宫中点亮所有的灯并回到起点?输入格式:输入第一...原创 2022-06-09 14:31:57 · 205 阅读 · 0 评论 -
7-5 哲哲打游戏
哲哲是一位硬核游戏玩家。最近一款名叫《达诺达诺》的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切!为简化模型,我们不妨假设游戏有N个剧情点,通过游戏里不同的操作或选择可以从某个剧情点去往另外一个剧情点。此外,游戏还设置了一些存档,在某个剧情点可以将玩家的游戏进度保存在一个档位上,读取存档后可以回到剧情点,重新进行操作或者选择,到达不同的剧情点为了追踪硬核游戏玩家哲哲的攻略进度,你打算写一个程序来完成这个工作。假设你已经知道了游戏的全部剧情点和流程,以及哲哲的游戏操作,请你输出哲...原创 2022-06-02 23:20:47 · 148 阅读 · 0 评论 -
城市间紧急救援 (邻接表c++)
作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0 ~(N−1);M是快速道路的条数;S是出发地的城市编号;D是目的地的城市编号。第二行给出N个..原创 2022-05-24 10:20:36 · 213 阅读 · 0 评论 -
7-4 网红点打卡攻略(dfs)
一个旅游景点,如果被带火了的话,就被称为“网红点”。大家来网红点游玩,俗称“打卡”。在各个网红点打卡的快(省)乐(钱)方法称为“攻略”。你的任务就是从一大堆攻略中,找出那个能在每个网红点打卡仅一次、并且路上花费最少的攻略。输入格式:首先第一行给出两个正整数:网红点的个数N(1<N≤200)和网红点之间通路的条数M。随后M行,每行给出有通路的两个网红点、以及这条路上的旅行花费(为正整数),格式为“网红点1 网红点2 费用”,其中网红点从 1 到N编号;同时也给出你家到某些网红点的花...原创 2022-05-24 08:33:25 · 197 阅读 · 0 评论 -
7-7 排座位(邻接表+dfs)
布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。输入格式:输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的关系,格式为:宾客1 宾客2 关系,其中关系为1表示是朋友,-1表示是死对头。注意两个人不可能既是朋友又是敌人。最后K行,每行给出一对需...原创 2022-05-17 16:00:38 · 129 阅读 · 0 评论 -
是否完全二叉搜索树
将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。输入格式:输入第一行给出一个不超过20的正整数N;第二行给出N个互不相同的正整数,其间以空格分隔。输出格式:将输入的N个正整数顺序插入一个初始为空的二叉搜索树。在第一行中输出结果树的层序遍历结果,数字间以1个空格分隔,行的首尾不得有多余空格。第二行输出YES,如果该树是完全二叉树;否则输出NO。输入样例1:938 45 42 24.原创 2022-05-04 19:17:06 · 173 阅读 · 0 评论 -
Height of Binary Search Tree (25 分)
You are supposed to write a function of finding the height of a binary search tree with the given postorder sequence.Format of function:int Height_of_BST( int postorder[], int N ); where the postorder sequence is stored inint postorder[], and the ..原创 2022-04-11 22:32:09 · 209 阅读 · 0 评论