数据结构
文章平均质量分 62
Dup4
这个作者很懒,什么都没留下…
展开
-
MOOC 数据结构 01-复杂度3 二分查找
01-复杂度3 二分查找(20 分)本题要求实现二分查找算法。 函数接口定义:Position BinarySearch( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXS...原创 2018-03-22 17:29:54 · 758 阅读 · 1 评论 -
05-树8 File Transfer(25 point(s)) 【并查集】
05-树8 File Transfer(25 point(s))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...原创 2018-04-06 09:08:04 · 229 阅读 · 0 评论 -
ZOJ - 4016 Mergeable Stack 【LIST】
题目链接http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4016题意模拟栈的三种操作第一种 push 将指定元素压入指定栈 第二种 pop pop出指定栈的栈顶元素 如果栈空 输出 EMPTY 第三种 Move a b 将 b 中的所有元素 移动到 栈a中思路本来想到用 双端队列 因为 在移...原创 2018-04-12 10:00:58 · 232 阅读 · 0 评论 -
7-5 家谱处理(30 分) 【数据结构】
7-5 家谱处理(30 分)人类学研究对于家族很感兴趣,于是研究人员搜集了一些家族的家谱进行研究。实验中,使用计算机处理家谱。为了实现这个目的,研究人员将家谱转换为文本文件。下面为家谱文本文件的实例:John Robert Frank Andrew Nancy David家谱文本文件中,每一行包含一个人的名字。第一行中的名字是这个家族最早的祖先...原创 2018-03-29 15:28:43 · 1898 阅读 · 0 评论 -
7-1 列出叶结点(25 分) 【数据结构】
7-1 列出叶结点(25 分)对于给定的二叉树,本题要求你按从上到下、从左到右的顺序输出其所有叶节点。 输入格式:首先第一行给出一个正整数 N(≤10),为树中结点总数。树中的结点从 0 到 N−1 编号。随后 N 行,每行给出一个对应结点左右孩子的编号。如果某个孩子不存在,则在对应位置给出 “-“。编号间以 1 个空格分隔。 输出格式:在一行中按规定顺序输出叶节点的编号。编号间以...原创 2018-03-28 21:18:02 · 11423 阅读 · 0 评论 -
7-7 列出连通集(25 分) 【图的遍历】
7-7 列出连通集(25 分)给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。 输入格式:输入第1行给出2个整数N(0#include <cstdio>#include <cstring>#include <ctype.h...原创 2018-03-28 08:56:36 · 813 阅读 · 0 评论 -
03-树3 Tree Traversals Again(25 point(s)) 【Tree】
03-树3 Tree Traversals Again(25 point(s))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 nu...原创 2018-04-02 12:04:30 · 261 阅读 · 0 评论 -
04-树4 是否同一棵二叉搜索树(25 point(s)) 【Tree】
04-树4 是否同一棵二叉搜索树(25 point(s))给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。 输入格式:输入包含若干组测试数据。每组数据的第1行给出两个...原创 2018-03-31 21:34:53 · 337 阅读 · 0 评论 -
03-树2 List Leaves(25 point(s)) 【Tree】
03-树2 List Leaves(25 point(s))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 ea...原创 2018-03-31 19:57:18 · 182 阅读 · 0 评论 -
03-树1 树的同构(25 point(s)) 【Tree】
03-树1 树的同构(25 point(s))给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。图1图2 现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中...原创 2018-03-31 19:47:25 · 299 阅读 · 0 评论 -
02-线性结构3 Reversing Linked List(25 point(s)) 【链表】
02-线性结构3 Reversing Linked List(25 point(s))Given 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...原创 2018-03-31 18:20:53 · 1040 阅读 · 0 评论 -
02-线性结构1 两个有序链表序列的合并(15 point(s)) 【链表合并】
02-线性结构1 两个有序链表序列的合并(15 point(s))本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义:List Merge( List L1, List L2 );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Dat...原创 2018-03-31 17:06:15 · 334 阅读 · 0 评论 -
出栈序列的合法性 【模拟】
7-15 出栈序列的合法性(25 分)给定一个最大容量为 M 的堆栈,将 N 个数字按 1, 2, 3, …, N 的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的?例如给定 M=5、N=7,则我们有可能得到{ 1, 2, 3, 4, 5, 6, 7 },但不可能得到{ 3, 2, 1, 7, 5, 6, 4 }。 输入格式:输入第一行给出 3 个不超过 1000 的正整数:...原创 2018-03-24 21:31:15 · 2511 阅读 · 0 评论 -
堆中的路径 【Heap】
7-2 堆中的路径(25 分)将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。 输入格式:每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。 输出格式:对输入中给出的每个下标...原创 2018-03-24 21:12:19 · 277 阅读 · 0 评论 -
线性结构2 一元多项式的乘法与加法运算 【STL】
02-线性结构2 一元多项式的乘法与加法运算(20 分)设计函数分别求两个一元多项式的乘积与和。 输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零...原创 2018-03-24 21:10:04 · 202 阅读 · 0 评论 -
7-3 堆栈模拟队列(25 point(s)) 【数据结构】
7-3 堆栈模拟队列(25 point(s))设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数:int IsFull(Stack S):判断堆栈S是否已满,返回1或0;int IsEmpty (Stack S ):判断堆栈S是否为空,返回1或0;void Push(Stack S, ElementType item...原创 2018-03-30 14:42:56 · 1640 阅读 · 0 评论 -
04-树7 二叉搜索树的操作集(30 point(s)) 【Tree】
04-树7 二叉搜索树的操作集(30 point(s))本题要求实现给定二叉搜索树的5种常用操作。 函数接口定义:BinTree Insert( BinTree BST, ElementType X );BinTree Delete( BinTree BST, ElementType X );Position Find( BinTree BST, ElementType X );...原创 2018-04-06 10:30:12 · 335 阅读 · 0 评论