浙大版数据结构
文章平均质量分 58
浙大版数据结构的部分题解~
豆沙睡不醒
永远不要停下脚步
展开
-
浙大版《数据结构学习与实验指导(第2版)》进阶实验8-2.3:二叉搜索树的最近公共祖先
题意给定一棵二叉搜索树的先序遍历序列,要求你找出任意两结点的最近公共祖先结点(简称 LCA)。Input输入的第一行给出两个正整数:待查询的结点对数 MMM(≤1000\le 1 000≤1000)和二叉搜索树中结点个数 NNN(≤10000\le 10 000≤10000)。随后一行给出 NNN 个不同的整数,为二叉搜索树的先序遍历序列。最后 MMM 行,每行给出一对整数键值 UUU 和 VVV。所有键值都在整型int范围内。Output对每一对给定的 UUU 和 VVV,如果找到 A 是它们原创 2022-04-15 11:37:02 · 1307 阅读 · 2 评论 -
浙大版《数据结构学习与实验指导(第2版)》案例5-1.1:线性探测法的查找函数
题意Description实现线性探测法的查找函数。用 Key% TableSize 定义散列函数。Input输入第一行首先给出一个正整数n(≤1000),表示散列表的长度($TableSize$)。第二行$n$个整数,表示当前散列表的内容,-1表示该位置为空。第三行一个整数Key,表示要查找的值。Output输出包括一行。如果找到Key,输出这个单元下标;如果没找到Key但遇到一个空单元,输出这个空单元下标;如果没找到Key且散列表满了,则输出ERROR。思路大体就是模拟一下这个过程原创 2022-04-11 19:56:51 · 1174 阅读 · 0 评论 -
浙大版《数据结构学习与实验指导(第2版)》基础实验7-2.1:魔法优惠券
题意Description在火星上有个魔法商店,提供魔法优惠券。每个优惠劵上印有一个整数面值$K$,表示若你在购买某商品时使用这张优惠劵,可以得到$K$倍该商品价值的回报!该商店还免费赠送一些有价值的商品,但是如果你在领取免费赠品的时候使用面值为正的优惠劵,则必须倒贴给商店$K$倍该商品价值的金额…… 但是不要紧,还有面值为负的优惠劵可以用!(真是神奇的火星)例如,给定一组优惠劵,面值分别为1、2、4、-1;对应一组商品,价值为火星币$M$7、6、−2、−3,其中负的价值表示该商品是免费赠品。我们可以原创 2022-04-11 17:14:27 · 198 阅读 · 0 评论 -
浙大版《数据结构学习与实验指导(第2版)》进阶实验8-2.2:特殊堆栈
题意Description堆栈是一种经典的后进先出的线性结构,通常有入栈(Push)和出栈(Pop)两个操作。某人觉得这样不够好玩,就自己模拟了一个栈,并加上了取中值(GetMedia)操作。即,返回(不取出)栈中所有元素的最中间那个元素。若最中间的元素有两个,则返回更靠前的那个。Input输入包括很多行(行数 $\le 10^5$),每行都是一个操作。如果操作命令是Push,则后面会紧跟一个空格和数字$t$ ( $0 \le t\le 10^5$ ),表示要把$t$入栈。如:Push 3。原创 2022-04-10 11:28:01 · 398 阅读 · 0 评论 -
浙大版《数据结构学习与实验指导(第2版)》进阶实验6-3.4:拯救007(升级版)
题意在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。)设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。池心岛是以 (0, 0) 为圆心、直径15米的圆。给定池中分布的鳄鱼的坐标、以及007一次能跳跃的最大距离,你需要给他指一条最短的逃生路原创 2022-04-10 11:24:04 · 277 阅读 · 0 评论 -
浙大版《数据结构学习与实验指导(第2版)》基础实验4-2.5:关于堆的判断
题意将一系列给定数字顺序插人一个初始为空的最小堆 H[],随后判断一系列相关问题是否为真,命题分为下列几种:x is the root:x是根结点。x and y are siblings:x和y是兄弟结点。x is the parent of y:x是y的父结点。x is a child of y:x是y的一个子结点。Input每组测试第1行包含2个正整数N(≤1000)和M(≤20),分别是插入元素的个数以及需要判断的命题数;下一行给出区间[-10 000, 10 000]内的N个要被插原创 2022-04-10 10:16:06 · 1448 阅读 · 0 评论 -
浙大版《数据结构学习与实验指导(第2版)》进阶实验4-3.4:笛卡尔树
题意:Description笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1K_1K1和K2K_2K2。首先笛卡尔树是关于K1K_1K1的二叉搜索树,即结点左子树的所有K1K_1K1值都比该结点的K1K_1K1值小,右子树则大。其次所有结点的K2K_2K2关键字满足优先队列(不妨设为最小堆)的顺序要求,即该结点的K2K_2K2值比其子树中所有结点的K2K_2K2值小。给定一棵二叉树,请判断该树是否笛卡尔树。Input输入首先给出正整数NNN(≤1000\le 1000≤1000)原创 2022-04-10 09:37:30 · 364 阅读 · 0 评论