浙大版数据结构习题
Don't Look back~
这个作者很懒,什么都没留下…
展开
-
哈夫曼树的构造(java实现,线性表顺序存储结构)
哈夫曼树的构造:存储结构:线性表、线性存储结构实现方法:createHuffmanTreeimport java.util.*;public class HuffmanTreeDemo { public static void main(String[] args) { /* 哈夫曼树的构造: 存储结构:线性表、线性存储结构 实现方法:createHuffmanTree */ Scanner scan = new Scanner(System.in);原创 2020-07-27 17:14:07 · 840 阅读 · 1 评论 -
06 Saving James Bond - Easy Version(java实现)
Saving James Bond - Easy Version (25分)This time let us consider the situation in the movie “Live and Let Die” in which James Bond, the world’s most famous spy, was captured by a group of drug dealers. He was sent to a small piece of land at the center of原创 2020-07-14 22:06:02 · 143 阅读 · 0 评论 -
06 列出连通集 (java实现)
列出连通集 (25分)给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。输出格式:按照"{ v1,v2,…vk }"的格式,每行输出一个连通集。先输出DFS的结果,再输出BFS的结果。输入样例:8 60 70原创 2020-07-14 15:47:56 · 252 阅读 · 0 评论 -
05 File Transfer(java实现)
File Transfer (25分)We have a network of computers and a list of bi-directional connections. Each of these connections allows a file transfer from one computer to another. Is it possible to send a file from any computer on the network to any other?Input S原创 2020-07-13 19:00:26 · 446 阅读 · 0 评论 -
05 堆中的路径(java实现)
堆中的路径 (25分)将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式:每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式:对输入中给出的每个下标i,在一行中输出从H[i]到根结点的路径上的数据。数字间以1个空格分隔,行末不得有多余空格。输入样例:5 346 23 26原创 2020-07-13 13:03:14 · 183 阅读 · 0 评论 -
04 Root of AVL Tree求AVL树的根节点(java实现)
Root of AVL Tree (25分)An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at most one; if at any time they differ by more than one, rebalancing is done to restore this property. F原创 2020-07-12 19:19:35 · 219 阅读 · 0 评论 -
04 二叉搜索树相同比较(java实现)
是否同一棵二叉搜索树 (25分)给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10)和L,分别是每个序列插入元素的个数和需要检查的序列个数。第2行给出N个以空格分隔的正整数,作为初始插入序列。最后L行,每行给原创 2020-07-12 15:35:16 · 266 阅读 · 0 评论 -
03 Tree Traversals Again(java实现)
Tree Traversals Again (25分)An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys numbered from 1 to 6) is traversed, the stack operations are: push(1); p原创 2020-07-10 21:32:46 · 137 阅读 · 0 评论 -
03 List Leaves (java实现)
Given a tree, you are supposed to list all the leaves in the order of top down, and left to right.Input Specification:Each input file contains one test case. For each case, the first line gives a positive integer N (≤10) which is the total number of node原创 2020-07-10 09:50:43 · 95 阅读 · 0 评论 -
03 树的同构(java实现)
给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N (≤10),即该树的结点数(此时假设结点从0到N−1编号);随后N行,第i行对应编号第i个结点,给出该结点中存储的1个英文大写字母、其左孩子结点的编号、右孩子结点原创 2020-07-09 23:39:54 · 231 阅读 · 0 评论 -
04 Pop Sequence (java实现,附图文解析)
Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, …, N and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of the stack. For example, if M is 5 and N is 7, we can obtain原创 2020-07-08 23:53:22 · 270 阅读 · 0 评论 -
03 Reversing Linked List (java链表实现,附解析图画)
Reversing Linked ListGiven a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For example, given L being 1→2→3→4→5→6, if K=3, then you must output 3→2→1→6→5→4; if K=4, you must output 4→3→2→1→5→6.Inpu原创 2020-07-08 17:14:26 · 212 阅读 · 0 评论 -
02一元多项式的乘法与加法运算(java链式存储结构实现)
设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2 6 1 -2 03 5 20 -7 4 3 1输出样例:15 24 -25 22 30 21 -10 20 -原创 2020-07-08 16:31:25 · 1218 阅读 · 0 评论 -
02一元多项式的乘法与加法运算(java顺序存储结构实现)
一元多项式的乘法与加法运算(java顺序存储结构实现)设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出 乘积多项式 以及 和多项式 非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。import java.util.Scanner;public class demo02原创 2020-07-05 17:26:25 · 898 阅读 · 0 评论 -
01最大子列和问题进阶版(java实现)
01最大子列和问题进阶版依据在线处理方法,进行改进,输出时,不仅输出最大子列和,并且输出对应数组的起点和终点下标。分别对应maxsum, m, nimport java.util.Scanner;public class demo01MSS { public static void main(String[] args) { /** 最大子列和问题实现 通过键盘录入数据,nextLine函数返回输入回车之前的所有字符 输出最大和的数值,及其对应数组的下标 */原创 2020-07-05 13:50:54 · 112 阅读 · 0 评论 -
01求解最大子列和问题(java实现四种方法)
这里写自定义目录标题01求解最大子列和问题01求解最大子列和问题import java.util.Scanner;public class demo01{ public static void main(String[] args) { /** 最大子列和问题实现 通过键盘录入数据,nextLine函数返回输入回车之前的所有字符 */ Scanner scan = new Scanner(System.in); System.out.print("请输入数据原创 2020-07-05 13:29:23 · 209 阅读 · 0 评论