数据结构-2016秋
文章平均质量分 58
飞翔的荷兰人灬
阁下何不乘风起,扶摇直上九万里
展开
-
01-复杂度1 最大子列和问题 (20分)
给定KKK个整数组成的序列{ N1N_1N1, N2N_2N2, …, NKN_KNK },“连续子列”被定义为{ NiN_iNi, Ni+1N_{i+1}Ni+1, …, NjN_jNj },其中 1≤i≤j≤K1 \le i \le j \le K1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13原创 2016-09-16 20:09:34 · 3879 阅读 · 0 评论 -
07-图4 哈利·波特的考试 (25分)
哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒lalala,也可以将猫变老鼠、老鼠变鱼的魔咒连起来念:hahahehe。现在哈利·波特的手里有一本教材,里面列出了所有的变原创 2016-10-19 20:45:28 · 1503 阅读 · 0 评论 -
03-树2 List Leaves (25分)
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 posit原创 2016-10-06 15:35:18 · 3118 阅读 · 2 评论 -
03-树1 树的同构 (25分)
给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 图1 图2现给定两棵树,请你判断它们是否是同构的。 输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数NN (\le 10≤10),即该树的结点数原创 2016-10-05 20:20:03 · 12059 阅读 · 5 评论 -
06-图1 列出连通集 (25分)
给定一个有NNN个顶点和EEE条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1N-1N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。 输入格式:输入第1行给出2个整数NNN(0#include <cstdio>#include <queue>#include <iostream>using namespace std;#de原创 2016-10-17 21:09:41 · 2547 阅读 · 1 评论 -
03-树3 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原创 2016-10-16 22:33:28 · 1503 阅读 · 0 评论 -
05-树8 堆中的路径 (25分)
将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。 输入格式:每组测试第1行包含2个正整数NNN和MMM(≤1000\le 1000≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的NNN个要被插入一个初始为空的小顶堆的整数。最后一行给出MMM个下标。 输出格式:对输入中给出的每个下标i原创 2016-10-16 22:42:17 · 1135 阅读 · 0 评论 -
02-线性结构4 Pop Sequence (25分)
Given a stack which can keep MMM numbers at most. Push NNN numbers in the order of 1, 2, 3, …, NNN and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence o原创 2016-09-30 20:29:18 · 1255 阅读 · 0 评论 -
04-树4 是否同一棵二叉搜索树 (25分)
给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。 输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数NNN (≤10\le 10≤10)和LLL,分别是每个序列插原创 2016-10-15 12:00:30 · 1037 阅读 · 0 评论 -
02-线性结构2 一元多项式的乘法与加法运算 (20分)
设计函数分别求两个一元多项式的乘积与和。 输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。 输入样例:4 3 4 -5 2 6 1 -原创 2016-09-22 18:43:58 · 9453 阅读 · 6 评论 -
02-线性结构1 两个有序链表序列的合并 (15分)
本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个递增的整数序列。 函数接口定义:List Merge( List L1, List L2 );其中List结构定义如下:typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指原创 2016-09-19 14:11:50 · 7255 阅读 · 10 评论 -
01-复杂度2 Maximum Subsequence Sum (25分)
Given a sequence of KKK integers { N1N_1N1, N2N_2N2, …, NKN_KNK }. A continuous subsequence is defined to be { NiN_iNi, Ni+1N_{i+1}Ni+1, …, NjN_jNj } where 1≤i≤j≤K1 \le i \le j \le K1原创 2016-09-16 21:52:27 · 1666 阅读 · 0 评论 -
10-排序4 统计工龄 (20分)
给定公司NNN名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。 输入格式:输入首先给出正整数NNN(≤105\le 10^5≤105),即员工总人数;随后给出NNN个整数,即每个员工的工龄,范围在[0, 50]。 输出格式:按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。 输入样例:8 10 2 0 5 7 2 5 2输出样例原创 2016-11-23 19:01:25 · 2087 阅读 · 0 评论