数据结构
码不停Ti
信息安全在校大学生
展开
-
5 打印选课学生名单 (25分)
假设全校有最多40000名学生和最多2500门课程。现给出每个学生的选课清单,要求输出每门课的选课学生名单。输入格式:输入的第一行是两个正整数:N(≤40000),为全校学生总数;K(≤2500),为总课程数。此后N行,每行包括一个学生姓名(3个大写英文字母+1位数字)、一个正整数C(≤20)代表该生所选的课程门数、随后是C个课程编号。简单起见,课程从1到K编号。输出格式:顺序输出...原创 2019-12-25 21:09:25 · 3298 阅读 · 0 评论 -
C++ 用scanf读取string
大数据的时候 cin cout 会超时,用scanf printf可以避免这个问题string 类型比 char 数组要方便很多,但是一般都用cin读取,scanf也可以读取string 但是需要预先分配好空间地址送一个 printf输出 string 的方法printf(a.c_str());需要导入头文件 #include<string>#include ...原创 2019-12-25 20:25:51 · 10692 阅读 · 0 评论 -
【数据结构】第15-16周练习题 查找排序 选择题
2-1用二分查找从100个有序整数中查找某数,最坏情况下需要比较的次数是:(3分)7 10 50 99作者: DS课程组单位: 浙江大学题目详情A。 2的7次方 64 > 100/22-2在下列查找的方法中,平均查找长度与结点个数无关的查找方法是:(3分)顺序查找 二分法 利用哈希(散列)表 利用二叉搜索树作者: DS课程组单位: 浙江大...原创 2019-12-22 19:23:28 · 8910 阅读 · 0 评论 -
【数据结构】第15-16周练习题 查找排序
希尔排序是稳定的算法。(2分)T F错不稳定堆排序、快速排序、希尔排序、直接选择排序不是稳定的排序算法,而基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。作者: DS课程组单位: 浙江大学题目详情1-2在散列表中,所谓同义词就是具有相同散列地址的两个元素。(2分)T F对 就是这么定义的...原创 2019-12-22 19:15:33 · 6938 阅读 · 2 评论 -
2 PAT排名汇总 (25分)注意 不要使用 long long int
计算机程序设计能力考试(Programming Ability Test,简称PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计实现能力,科学的评价计算机程序设计人才,为企业选拔人才提供参考标准(网址http://www.patest.cn)。每次考试会在若干个不同的考点同时举行,每个考点用局域网,产生本考点的成绩。考试结束后,各个考点的成绩将即刻汇总成一张总的...原创 2019-12-21 19:45:43 · 1014 阅读 · 0 评论 -
1 奥运排行榜 (25分)
每年奥运会各大媒体都会公布一个排行榜,但是细心的读者发现,不同国家的排行榜略有不同。比如中国金牌总数列第一的时候,中国媒体就公布“金牌榜”;而美国的奖牌总数第一,于是美国媒体就公布“奖牌榜”。如果人口少的国家公布一个“国民人均奖牌榜”,说不定非洲的国家会成为榜魁…… 现在就请你写一个程序,对每个前来咨询的国家按照对其最有利的方式计算它的排名。输入格式:输入的第一行给出两个正整数N和M(≤2...原创 2019-12-20 13:59:21 · 919 阅读 · 0 评论 -
4 整型关键字的散列映射 (25分)
给定一系列整型关键字和素数P,用除留余数法定义的散列函数将关键字映射到长度为P的散列表中。用线性探测法解决冲突。输入格式:输入第一行首先给出两个正整数N(≤1000)和P(≥N的最小素数),分别为待插入的关键字总数、以及散列表的长度。第二行给出N个整型关键字。数字间以空格分隔。输出格式:在一行内输出每个整型关键字在散列表中的位置。数字间以空格分隔,但行末尾不得有多余空格。输入样...原创 2019-12-20 13:14:03 · 1224 阅读 · 0 评论 -
【PAT】【数据结构】查找与排序周测+月测-05-01-06
下列排序算法中,哪种算法可能出现:在最后一趟开始之前,所有的元素都不在其最终的位置上?(设待排元素个数N>2)(3分)冒泡排序 每次有一个位置确定 插入排序 插入插在头结点就全后移 堆排序 每次也就移动一个子树另一个子树不变动 快速排序 扫描的时候最后肯定有一半排好了对于序列{ 49,38,65,97,76,13,27,50 },按由小到大进行排序,下面哪一个是初始步...原创 2019-12-17 13:43:17 · 4435 阅读 · 2 评论 -
【PAT】【数据结构】查找与排序周测+月测-05-01-06
1.对N个不同的数据采用冒泡排序进行从大到小的排序,当元素基本有序时交换元素次数肯定最多。错肯定,不对,基本有序,可能一排就结束了,从大到小排序如果基本有序是从小到大,那就肯定次数很多。我太菜了讲的。。。反正就是不对吧2.任何二叉搜索树中同一层的结点从左到右是有序的(从小到大)。 对因为生成的时候都是按照大小选择的左右分枝,肯定左子树都比右子树小,所以一定是有序的。3.将1、2、...原创 2019-12-17 12:15:04 · 2148 阅读 · 0 评论 -
7-3 寻找大富翁 (50分)
胡润研究院的调查显示,截至2017年底,中国个人资产超过1亿元的高净值人群达15万人。假设给出N个人的个人资产值,请快速找出资产排前M位的大富翁。输入格式:输入首先给出两个正整数N(≤106)和M(≤10),其中N为总人数,M为需要找出的大富翁数;接下来一行给出N个人的个人资产值,以百万元为单位,为不超过长整型范围的整数。数字间以空格分隔。输出格式:在一行内按非递增顺序输出资...原创 2019-12-17 11:50:51 · 1570 阅读 · 0 评论 -
7-2 冒泡法排序 (30分)
将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。本题要求对任意给定的K(<N),输出扫描完第K遍后的中间结果数列。输入格式:输入在第1行中给出N和K(1≤K...原创 2019-12-17 11:48:19 · 3221 阅读 · 0 评论 -
7-1 二分查找 (20分)
输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。输入格式:输入共三行: 第一行是n值; 第二行是n个整数; 第三行是x值。输出格式:输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。输入样例:41 2 3 41...原创 2019-12-17 11:46:51 · 13209 阅读 · 1 评论 -
7-2 冒泡法排序 (30分)
7-2冒泡法排序(30分)将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。本题要求对任意给定的K(<N),输出扫描完第K遍后的中间结果数列。输入格式:...原创 2019-12-06 19:09:59 · 1984 阅读 · 0 评论 -
7-1 二分查找 (20分)
7-1二分查找(20分)利用二分查找找出所给出的数在数组中的下标输入格式:第一行输入n和m表示数组有n个数据,m表示要对m个数进行查找输出格式:所有输出在一行完成,行末没有多余空格和多余回车。输入样例:5 51 2 3 4 51 2 3 4 5输出样例:0 1 2 3 4作者: 陈英单位: 南昌航空大学时间限制: 50 ms内存...原创 2019-12-06 19:09:13 · 6615 阅读 · 2 评论 -
半个【弗洛伊德算法】2-3 社交网络图中结点的“重要性”计算 (25分)
2-3社交网络图中结点的“重要性”计算(25分)在社交网络中,个人或单位(结点)之间通过某些关系(边)联系起来。他们受到这些关系的影响,这种影响可以理解为网络中相互连接的结点之间蔓延的一种相互作用,可以增强也可以减弱。而结点根据其所处的位置不同,其在网络中体现的重要性也不尽相同。“紧密度中心性”是用来衡量一个结点到达其它结点的“快慢”的指标,即一个有较高中心性的结点比有较低中心性的结点...原创 2019-12-05 15:19:38 · 1100 阅读 · 0 评论 -
2-2 畅通工程之局部最小花费问题 (30 分)【普利姆算法】
2-2畅通工程之局部最小花费问题(30分)某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的快速道路相连,只要互相间接通过快速路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建快速路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全地区畅通需要的最低成本。输入...原创 2019-12-03 22:21:58 · 1461 阅读 · 0 评论 -
【并查集】2-4 朋友圈 (25 分)
2-4朋友圈(25分)某学校有N个学生,形成M个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据“我的朋友的朋友也是我的朋友”这个推论可以得出,如果A和B是朋友,且B和C是朋友,则A和C也是朋友。请编写程序计算最大朋友圈中有多少人。输入格式:输入的第一行包含两个正整数N(≤30000)和M(≤1000),分别代表学校的...原创 2019-12-03 22:06:49 · 958 阅读 · 1 评论 -
2-1 是否同一棵二叉搜索树 (35 分)
2-1是否同一棵二叉搜索树(35分)给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N...原创 2019-12-03 09:42:01 · 1475 阅读 · 0 评论 -
[数据结构大作业]HBU Guide河北大学校园导航
[数据结构大作业]HBU Guide河北大学校园导航校园导航问题【问题描述】以我校为例,设计一个校园导航系统,主要为来访的客人提供信息查询。系统有两类登陆账号,一类是游客,使用该系统方便校内路线查询;一类是管理员,可以使用该系统查询校内路线,可对校园景点路线可编辑。【需求分析】设计学校的平面图,至少包括10个以上景点(场所),每两个景点间可以有不同道路,且路长也...原创 2019-12-01 20:33:35 · 32905 阅读 · 2 评论 -
【HBU数据结构月考】7-2 还原二叉树 (30 分) 输出高度
7-2还原二叉树(30分)给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。输入格式:输入首先给出正整数N(≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。输出格式:输出为一个整数,即该二叉树的高度。输入样例:9ABDFGHIECFDHGIBEAC输出样例:5...原创 2019-11-30 11:59:35 · 750 阅读 · 0 评论 -
【HBU】数据结构月考7-1 列出所有祖先结点 (30 分)
7-1列出所有祖先结点(30分)对于给定的二叉树,本题要求你按从上到下顺序输出指定结点的所有祖先结点。输入格式:首先第一行给出一个正整数 N(≤10),为树中结点总数。树中的结点从 0 到 N−1 编号。随后 N 行,每行给出一个对应结点左右孩子的编号。如果某个孩子不存在,则在对应位置给出 "-"。编号间以 1 个空格分隔。最后一行给出一个结点的编号i(0≤i≤N-1)。...原创 2019-11-29 20:03:19 · 4510 阅读 · 0 评论 -
【HBU数据结构月考】7-3 排座位 (20 分)
7-3排座位(20分)布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。输入格式:输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间...原创 2019-11-29 20:00:55 · 1021 阅读 · 0 评论 -
【HBU】数据结构月考2019-11选择题
若一棵二叉树的后序遍历序列是{ 1, 3, 2, 6, 5, 7, 4 },中序遍历序列是{ 1, 2, 3, 4, 5, 6, 7 },则下列哪句是错的?(2分) 这是一棵完全二叉树 2是1和3的父结点 这是一棵二叉搜索树 7是5的父结点 还原,这棵树不是完全二叉树树最适合于用来表示(2分) 有序数据元素 无序数据元素 元...原创 2019-11-29 18:04:54 · 8458 阅读 · 1 评论 -
【HBU】数据结构月考2019-11判断题
在一个有权无向图中,若b到a的最短路径距离是12,且c到b之间存在一条权为2的边,则c到a的最短路径距离一定不小于10。 √对存在一棵总共有2016个结点的二叉树,其中有16个结点只有一个孩子。错没确定是什么类型的二叉树;https://www.cnblogs.com/masterchd/p/8073177.html二叉树的类型:满二叉树:除最后一层无任何...原创 2019-11-29 17:32:56 · 5736 阅读 · 0 评论 -
【河北大学数据结构大作业】
#include<malloc.h>#include<string.h>#include<iomanip>#include<stdio.h>#define max_ver_num 50#define OK 1#define FALSE 0#define Error -1#define A 1000#define TRUE 1t...原创 2019-11-28 18:01:46 · 1390 阅读 · 0 评论 -
while (~scanf("%d%d",&m,&n))什么用的?
while (~scanf("%d%d",&m,&n))什么用的? ACM中比较常见,其功能是循环从输入流读取m和n,直到遇到EOF为止,等同于while (scanf("%d%d",&m,&n)!=EOF)。 scanf()函数返回成功赋值的数据项数,出错时则返回,EOF定义为-1。~是按位取反,-1十六进制补码表示为0x ffffffff,f是二进制...原创 2019-11-19 22:25:24 · 1535 阅读 · 0 评论 -
6-2 邻接表存储图的广度优先遍历 (20 分)
6-2邻接表存储图的广度优先遍历(20分)试实现邻接表存储图的广度优先遍历。函数接口定义:void BFS ( LGraph Graph, Vertex S, void (*Visit)(Vertex) );其中LGraph是邻接表存储的图,定义如下:/* 邻接点的定义 */typedef struct AdjVNode *PtrToAdjVNode; stru...原创 2019-11-19 09:58:23 · 14754 阅读 · 1 评论 -
6-1 邻接矩阵存储图的深度优先遍历 (20 分)
试实现邻接矩阵存储图的深度优先遍历。函数接口定义:void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) );其中MGraph是邻接矩阵存储的图,定义如下:typedef struct GNode *PtrToGNode;struct GNode{ int Nv; /* 顶点数 */ int Ne; ...原创 2019-11-19 09:58:33 · 7711 阅读 · 0 评论 -
第11-12周练习题树与选择题
2-1下列线索二叉树中(用虚线表示线索),符合后序线索树定义的是:(2分)后序遍历 dbca所以 d前驱动为null,d后继bb没有左孩子,前驱为d。C没有孩子,前驱为b,后继为aa有左右孩子所以选B 作者: DS课程组单位: 浙江大学2-2引人线索二叉树的目的的是( )。(2分)加快查找结点的前驱或后继的速度 为了能在二叉树中方便...原创 2019-11-18 13:30:59 · 19441 阅读 · 1 评论 -
第11-12周练习题树与图
1-1一棵有124个结点的完全二叉树,其叶结点个数是确定的。(2分)满的按顺序来的 √1-2二叉树中序线索化后,不存在空指针域。(2分)第一个节点无前驱,最后一个节点无后继。×1-3对N(≥2)个权值均不相同的字符构造哈夫曼树,则树中任一非叶结点的权值一定不小于下一层任一结点的权值。(2分)因为中间节点的权值是下面节点的和呀 √1-4哈夫曼编码是一种最...原创 2019-11-18 11:39:14 · 3487 阅读 · 1 评论 -
7-2 树种统计 (20 分)
7-2树种统计(20分)随着卫星成像技术的应用,自然资源研究机构可以识别每一棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。输入格式:输入首先给出正整数N(≤105),随后N行,每行给出卫星观测到的一棵树的种类名称。种类名称由不超过30个英文字母和空格组成(大小写不区分)。输出格式:按字典序递增输出各种树的种类名称及其所占总数的百分比,...原创 2019-11-05 21:08:23 · 2311 阅读 · 0 评论 -
7-4 树的遍历 (20 分)
7-4树的遍历(20分)给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:72...原创 2019-11-05 20:54:53 · 4781 阅读 · 1 评论 -
【HBU】数据结构树练习题
4-1某二叉树的前序和后序遍历序列正好相反,则该二叉树一定是(4分)空或只有一个结点 高度等于其结点数 任一结点无左孩子 任一结点无右孩子作者: DS课程组单位: 浙江大学4-2已知一棵二叉树的先序遍历结果是ABC,则以下哪个序列是不可能的中序遍历结果:(4分)ABC BAC CBA CAB作者: DS课程组单位: 浙江大学4-3...原创 2019-10-15 14:23:48 · 46089 阅读 · 5 评论 -
【抄的】1-3 表达式转换 (25 分)
1-3表达式转换(25分)算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。输入格式:输入在一行中给出不含空格的中缀表达式,可包含+、-、*、\以及左右括号(),表达式不超过20个字符。输出格式:在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)...原创 2019-10-12 18:26:04 · 1136 阅读 · 0 评论 -
2-5 Two Stacks In One Array (20 分)
2-5Two Stacks In One Array(20分)Write routines to implement two stacks using only one array. Your stack routines should not declare an overflow unless every slot in the array is used.Format of f...原创 2019-09-22 21:18:50 · 2253 阅读 · 0 评论 -
1-9 最长连续递增子序列 (20 分)
1-9最长连续递增子序列(20分)给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。输入格式:输入第1行给出正整数n(≤105);第2行给出n个整数,其间以空格分隔。输出格式:在一行中输出第一次出现的最长连续递增子序列,数字之间用空格分隔,序列结尾不能有...原创 2019-08-29 17:42:39 · 1984 阅读 · 0 评论 -
3-7 表达式转换 (20 分)
3-7表达式转换(20分)算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。输入格式:输入在一行中给出不含空格的中缀表达式,可包含+、-、*、\以及左右括号(),表达式不超过20个字符。输出格式:在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)...原创 2019-10-10 15:50:27 · 3386 阅读 · 1 评论 -
【未完成】1-1 一元多项式的乘法与加法运算 (25 分)
1-1一元多项式的乘法与加法运算(25分)设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应...原创 2019-08-31 10:43:06 · 786 阅读 · 0 评论 -
1-4 列车厢调度 (25 分)
1-4列车厢调度(25分) 1 ====== <--移动方向 / 3 ===== \ 2 ====== -->移动方向 大家或许在某些数据结构教材上见到过“列车厢调度问题”(当然没见过也不要紧)。今天,我们就来实际操作一下列车厢的调度。对照上方的ASCII字符图,问题描述如下:有三...原创 2019-08-31 09:42:54 · 2990 阅读 · 0 评论 -
1-6 银行业务队列简单模拟 (25 分)
1-6银行业务队列简单模拟(25分)设某银行有A、B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 —— 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客。给定到达银行的顾客序列,请按业务完成的顺序输出顾客序列。假定不考虑顾客先后到达的时间间隔,并且当不同窗口同时处理完2个顾客时,A窗口顾客优先输出。输入格式:输入为一行正整数,其中第1个数字N(≤100...原创 2019-08-30 12:56:48 · 5093 阅读 · 0 评论