
数据结构课程设计
ZJU_warren
水,是人体重要组成部分。
展开
-
C,D,I 的C++实现
前言 具体分析请见http://blog.youkuaiyun.com/hnust_v/article/details/51746013//C#include <bits/stdc++.h>using namespace std;int A[50500]={};int main(){ //freopen("E:\\test.txt","r",stdin); //freopen("E:\\t原创 2016-06-23 22:30:01 · 962 阅读 · 0 评论 -
问题 Q: 2010省赛题:Repairing a Road
问题 Q: 2010省赛题:Repairing a Road题目描述You live in a small town with R bidirectional roads connecting C crossings and you want to go from crossing 1 to crossing C as soon as possible. You can visit other c原创 2016-06-25 11:41:38 · 1261 阅读 · 0 评论 -
问题 R: 赫夫曼编码
问题 R: 赫夫曼编码时间限制: 1 Sec 内存限制: 128 MB提交: 438 解决: 117[提交][状态][讨论版]题目描述赫夫曼编码能够产生最短的报文。以报文“ABCDABCDABCABDABAA”为例,A编为0,B对应10,C对应110,D对应111,整体的报文长度为35位二进制。相比于定长的ASCII码,压缩比达到了18*8/35=4.1。输入输入有一系列的字符串组成,原创 2016-06-28 18:27:06 · 894 阅读 · 1 评论 -
问题 A: 复杂度分析(Ⅰ)
问题 A: 复杂度分析(Ⅰ)题目描述 分析如下代码for(i=1;i<n;i++) for(j=1;j<i;j++) for(k=1;k<j;k++) printf("\n"); ---------[1]问[1]语句共执行了几次?这段代码执行完以后i+j+k值为多少?输入由多行组成,每行一个整数n, 1<= n <= 3000输出对每一行输入,输出对应的原创 2016-06-23 22:17:52 · 6679 阅读 · 0 评论 -
问题 J: 二叉树遍历
问题 J: 二叉树遍历时间限制: 1 Sec 内存限制: 128 MB提交: 720 解决: 289题目描述对于二叉树T,可以有先序遍历、中序遍历和后序遍历三种遍历方式。现在我们要求给出一棵二叉树的先序遍历序列和中序遍历序列,输出它的广度优先遍历序列。 输入第一行为一个整数t(0<t<10),表示测试用例个数。 以下t行,每行输入一个测试用例,包含两个字符序列s1和s2,其中s1为一棵二叉原创 2016-06-23 23:42:27 · 1000 阅读 · 0 评论 -
数据结构课程设计解题报告 前言
首先,大大说可以发博客我才斗胆敢发。 其次,我会逐渐给出每题的伪代码,当前已经完成了部分题的分析(A,B同A,C,D,I,G)其一,80行以上代码至少我一般是看不下去的,但是20~30的伪代码,甚至是5~15行的中文的步骤分析, 读起来轻松自如 其二,是因为我觉得伪代码更容易读懂,如果是一大堆变量名 i,j,k,Count…再来几个++j,–k,原因只是因为if(!x) 那么了解这个算法的旁人原创 2016-06-24 00:02:43 · 3527 阅读 · 0 评论 -
问题 E: 交集
问题 E: 交集题目描述有两个相等长度的正整数序列A和B,都是有序的(递增排序),同时一个序列中没有重复元素,现在需要求这两个序列的交――序列C,同时打印输出。输入每个测试用例一共有2*n+1行,第一行输入为数列的长度n,然后下面2~n+1行,依次输入序列A中的数。n+2~2*n+1行,依次输入序列B中的数。其中 1 <= n <= 50000 , 序列中每个数大小不会超过1000000。当程序原创 2016-06-23 22:36:50 · 2739 阅读 · 1 评论 -
问题 G: 车站调度
问题 G: 车站调度 题目描述 有顺序排列的1,2, 3,…,n节车厢在入站口等待调度。车站设置了一个栈作为缓冲,这样的话只可能进行下列两个操作之一: (1)如果还有车厢在入站口,将最前面的入栈缓冲 (2)将栈顶的车厢驶出车站 给定一个1至n的排列,问其作为出站序列是否合法。 注意:入站顺序为1,2, 3,…,n,即1先入栈…,n最后入栈。 输入 输入包含若干测试用原创 2016-06-23 22:22:17 · 803 阅读 · 0 评论 -
问题 H: 简单表达式求值
问题 H: 简单表达式求值题目描述给出简单的表达式,运算符只有加减乘除,运算数是非负整数,计算其值。 输入输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当EOF时输入结束.输出对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。样例输入1 3 - 8 / 4样例输出1.00 1.00 提示#inc原创 2016-06-23 22:23:09 · 849 阅读 · 0 评论 -
问题 F: 大爱线性表
问题 F: 大爱线性表题目描述不少参赛同学刚学数据结构,对线性表最是熟悉不过。这里我们给线性表增加两个特殊的操作,第一个是‘R’ 操作,表示逆转整个表,如果表长为L,原来的第i个元素变成第L-i+1个元素。第二个操作是‘D’,表示删除表的第一个元素,如果表为空,则返回一个“error”信息。我们可以给出一系列的‘R’ 和‘D’组合,例如“RDD”表示先逆转表,然后删除最前面的两个元素。本题的任务是给原创 2016-06-23 22:39:35 · 2641 阅读 · 0 评论 -
问题 P: 最小时间
问题 P: 最小时间题目描述 有多个城市组成一个铁路交通网络。任意两个城市之间有直连铁路,或者通过其他城市间接到达。给定某个城市,要求min时间内能到达任意指定的另一城市,求最小min。输入每个测试用例由多行组成,第一行是整数n(1 <= n <= 100),表示城市的数目。其余行表示邻接矩阵A。A(i,j)的值如果是一个整数t,表示城市i与城市j有铁路直连,需要t时间到达另一方。如果原创 2016-06-23 22:47:08 · 1273 阅读 · 0 评论 -
问题 N: 二叉查找树(Ⅲ)-判同
问题 N: 二叉查找树(Ⅲ)-判同题目描述N个数可以有N!个排列,每个排列都可以生成一棵二叉排序树,如果有重复数可能更多。对于其中任意两个排列,它们生成的二叉查找树可能相同,也可能不同。现在需要你编程序要判断。输入 包含多组测试数据。每组测试数据分成两部分。第一部分是模板树,由两行组成,第一行是空BST待插入关键字的数目n(1<=n<=100)。第2行是n个空格分开的正整数,值不超过100。 第原创 2016-06-23 22:57:10 · 429 阅读 · 0 评论 -
问题 M: 二叉查找树(Ⅱ)-文本显示
问题 M: 二叉查找树(Ⅱ)-文本显示时间限制: 1 Sec 内存限制: 128 MB提交: 130 解决: 60[提交][状态][讨论版]题目描述本任务是在空二叉查找树的基础上,依次插入一些关键字,然后文本方式显示该树。要求树中不能有重复关键字。输入由多组数据 组成。每组数据由两行组成。第一行是待插入关键字的数目n(1<=n<=100)。第2行是n个空格分开的正整数,值不超过100。输原创 2016-06-23 23:30:26 · 694 阅读 · 0 评论 -
问题 K: 数据结构(C语言版)算法7.4至算法7.6__DFS与BFS //这题做法不正规
问题 K: 数据结构(C语言版)算法7.4至算法7.6__DFS与BFS时间限制: 1 Sec 内存限制: 128 MB题目描述求图的DFS序列及BFS序列。图的顶点数<=20,边数<=100。输入图用邻接表存储。图中的顶点用一个结构体数组存储,结构体定义如下:typedef struct tnode{ int vexdata; struct node *firstarc;}T原创 2016-06-23 23:38:14 · 827 阅读 · 0 评论 -
问题 L: 二叉查找树(Ⅰ)-创建和遍历
问题 L: 二叉查找树(Ⅰ)-创建和遍历时间限制: 1 Sec 内存限制: 128 MB提交: 415 解决: 91[提交][状态][讨论版]题目描述二叉查找树(Binary Search Tree),又称为二叉排序树,它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的原创 2016-06-23 23:27:00 · 549 阅读 · 0 评论 -
问题 O: 自来水管道
问题 O: 自来水管道时间限制: 1 Sec 内存限制: 128 MB提交: 190 解决: 64[提交][状态][讨论版]题目描述你领到了一个铺设校园内自来水管道的任务。校园内有若干需要供水的点,每两个供水点可能存在多种铺设路径。对于每一种铺设路径,其成本是预知的。 任务要求最终铺设的管道保证任意两点可以直接或间接的联通,同时总成本最低。输入每个测试用例由多行组成,第一行是两个原创 2016-06-23 22:50:49 · 3030 阅读 · 0 评论