【HBU-DS】数据结构与算法
文章平均质量分 51
本专栏收集大二数据结构与算法习题
优乐美Ying
努力闪闪发光
展开
-
1 奥运排行榜
每年奥运会各大媒体都会公布一个排行榜,但是细心的读者发现,不同国家的排行榜略有不同。比如中国金牌总数列第一的时候,中国媒体就公布“金牌榜”;而美国的奖牌总数第一,于是美国媒体就公布“奖牌榜”。如果人口少的国家公布一个“国民人均奖牌榜”,说不定非洲的国家会成为榜魁…… 现在就请你写一个程序,对每个前来咨询的国家按照对其最有利的方式计算它的排名。原创 2022-12-22 22:28:41 · 163 阅读 · 0 评论 -
查找排序编程题——二分查找+冒泡排序♀️
分数 20利用二分查找找出所给出的数在数组中的下标输入格式:第一行输入n和m表示数组有n个数据,m表示要对m个数进行查找输出格式:所有输出在一行完成,行末没有多余空格和多余回车。AC:7-2 冒泡法排序将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。原创 2022-12-19 15:43:05 · 672 阅读 · 0 评论 -
【HBU】2022秋线上作业——第六次——查找排序选择判断
【HBU】2022秋线上作业——第六次——查找排序选择判断原创 2022-12-19 14:37:26 · 1558 阅读 · 0 评论 -
【HBU】2022秋线上作业-第五次-有关树的判断选择
1. 一棵有124个结点的完全二叉树,其叶结点个数是确定的。 √高度为n的完全二叉树的结点数为2ⁿ-1 124位于64-1~128-1之间,所以这棵树的高度是7,前六层是满的有63个,第7层有124-63=61个 64-61=3 第6层有3/2(向下取整)=1 个 所以整棵树的叶子结点有61+1个2.二叉树中序线索化后,不存在空指针域。 × 非空二叉树中序遍历第一个结点无前驱,最后一个结点无后继,这两个结点的前驱线索和后继线索为空指针3.对N(≥2)个权值均不相同的字符构造哈夫曼树,则原创 2022-12-07 18:57:53 · 1881 阅读 · 1 评论 -
【修理牧场】
农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数Li个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是Li的总和。但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯成12和8;第二次锯木头花费12,将长度为12的木头锯成7和5,总花费为32。原创 2022-11-25 23:08:35 · 566 阅读 · 0 评论 -
【是否同一棵二叉搜索树】
给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。原创 2022-11-25 22:54:46 · 231 阅读 · 0 评论 -
【社交网络图中结点的“重要性”计算】
Cc(i)=x.xx。原创 2022-11-25 20:11:18 · 229 阅读 · 0 评论 -
【畅通工程之局部最小花费问题】
【代码】【畅通工程之局部最小花费问题】原创 2022-11-25 10:24:01 · 120 阅读 · 0 评论 -
【顺序存储的二叉树的最近的公共祖先问题】
分数 20全屏浏览题目切换布局作者 DS课程组单位 浙江大学设顺序存储的二叉树中有编号为i和j的两个结点,请设计算法求出它们最近的公共祖先结点的编号和值。输入格式:输入第1行给出正整数n(≤1000),即顺序存储的最大容量;第2行给出n个非负整数,其间以空格分隔。其中0代表二叉树中的空结点(如果第1个结点为0,则代表一棵空树);第3行给出一对结点编号i和j。题目保证输入正确对应一棵二叉树,且1≤i,j≤n。输出格式:如果i或j对应的是空结点,则输出,其中x是i或j中先发现错误的那个编号。原创 2022-11-24 11:21:27 · 301 阅读 · 0 评论 -
[树的同构]
分数 20全屏浏览题目切换布局作者 陈越单位 浙江大学。原创 2022-11-24 16:38:34 · 132 阅读 · 0 评论 -
[树种统计]
分数 20全屏浏览题目切换布局作者 DS课程组单位 浙江大学随着卫星成像技术的应用,自然资源研究机构可以识别每一棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。输入格式:输入首先给出正整数N(≤105),随后N行,每行给出卫星观测到的一棵树的种类名称。种类名称由不超过30个英文字母和空格组成(大小写不区分)。输出格式:按字典序递增输出各种树的种类名称及其所占总数的百分比,其间以空格分隔,保留小数点后4位。原创 2022-11-24 16:16:45 · 320 阅读 · 0 评论 -
【朴素并查集】朋友圈+部落
This is 并查集的“并”This is 并查集的“查”来,上题目。原创 2022-11-06 22:43:53 · 234 阅读 · 0 评论 -
1-3 表达式转换
算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。原创 2022-09-12 09:21:07 · 146 阅读 · 0 评论 -
【HBU】2022秋线上作业-第四次-有关树的单选题
原创 2022-11-09 21:09:18 · 180 阅读 · 0 评论 -
【树的遍历】
分数 20全屏浏览题目切换布局作者 陈越单位 浙江大学。原创 2022-11-24 10:38:37 · 442 阅读 · 0 评论 -
【邻接矩阵存储图的深度优先遍历】【邻接表存储图的广度优先遍历】
其中MGraphint Nv;/* 顶点数 */int Ne;/* 边数 *//* 邻接矩阵 */};/* 以邻接矩阵存储的图类型 */函数DFS应从第V个顶点出发递归地深度优先遍历图Graph,遍历时用裁判定义的函数Visit访问每个顶点。当访问邻接点时,要求按序号递增的顺序。题目保证V是图中的合法顶点。其中LGraph/* 邻接点的定义 *//* 邻接点下标 *//* 指向下一个邻接点的指针 */};/* 顶点表头结点的定义 *//* 边表头指针 */原创 2022-11-23 23:03:15 · 2730 阅读 · 0 评论 -
2022秋线上作业-第4次-第8-10周-——函数题
其中BinTree};要求函数返回给定二叉树BT的高度值。其中BinTree};函数应按照先序遍历的顺序输出给定二叉树BT的叶结点,格式为一个空格跟着一个字符。原创 2022-10-29 18:14:44 · 163 阅读 · 0 评论 -
根据后序和中序遍历输出先序遍历
分数 15全屏浏览题目作者 DS课程组单位 浙江大学本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果。原创 2022-10-29 17:54:15 · 317 阅读 · 0 评论 -
还原二叉树
分数 15全屏浏览题目切换布局作者 DS课程组单位 浙江大学给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。原创 2022-10-29 17:49:26 · 337 阅读 · 0 评论 -
3-9 堆栈模拟队列
分数 20全屏浏览题目切换布局作者 DS课程组单位 浙江大学设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。SSitemSS实现队列的操作,即入队和出队。原创 2022-10-07 20:54:30 · 283 阅读 · 1 评论 -
3-8 求前缀表达式的值
分数 20全屏浏览题目切换布局作者 DS课程组单位 浙江大学算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,例如。请设计程序计算前缀表达式的结果值。原创 2022-10-06 22:28:42 · 677 阅读 · 0 评论 -
2-10 出栈序列的合法性
分数 20全屏浏览题目切换布局作者 陈越单位 浙江大学给定一个最大容量为 M 的堆栈,将 N 个数字按 1, 2, 3, ..., N 的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的?例如给定 M=5、N=7,则我们有可能得到{ 1, 2, 3, 4, 5, 6, 7 },但不可能得到{ 3, 2, 1, 7, 5, 6, 4 }。原创 2022-09-29 21:44:30 · 326 阅读 · 0 评论 -
2-9 彩虹瓶
分数 20全屏浏览题目切换布局作者 陈越单位 浙江大学彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工厂里有每种颜色的小球各一箱,工人需要一箱一箱地将小球从工厂里搬到装填场地。如果搬来的这箱小球正好是可以装填的颜色,就直接拆箱装填;如果不是,就把箱子先码放在一个临时货架上,码放的方法就是一箱一箱堆上去。原创 2022-09-29 21:01:09 · 534 阅读 · 1 评论 -
2-7 一元多项式求导
分数 20全屏浏览题目切换布局作者 DS课程组单位 浙江大学设计函数求一元多项式的导数。原创 2022-09-29 19:37:10 · 441 阅读 · 0 评论 -
2-6 两个有序序列的中位数
已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A0,A1,⋯,AN−1的中位数指A(N−1)/2的值,即第⌊(N+1)/2⌋个数(A0为第1个数)。原创 2022-09-29 19:18:33 · 110 阅读 · 0 评论 -
第一次:1-9 最长连续递增子序列
给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB C++ (g++)在一行中输出第一次出现的最长连续递增子序列,数字之间用空格分隔,序列结尾不能有多余空格。输入第1行给出正整数n(≤10的五次方);第2行给出n个整数,其间以空格分隔。原创 2022-09-20 15:56:24 · 121 阅读 · 0 评论 -
第一次:1-8 数组循环左移
总结:建立一个队列,将数压入队列,用q.front()将前m个数取出删除原来的位置并将其push到队尾。在队列非空条件下,取出数。代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB C++ (g++)输入第1行给出正整数n(≤100)和整数m(≥0);第2行给出n个整数,其间以空格分隔。在一行中输出循环左移m位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。原创 2022-09-20 15:43:03 · 228 阅读 · 0 评论 -
第一次:1-7 两个有序链表序列的交集
输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。在一行中输出两个输入序列的交集序列,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。代码长度限制 16 KB 时间限制 1000 ms 内存限制 64 MB C++ (g++)已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。原创 2022-09-20 15:23:25 · 268 阅读 · 0 评论 -
第一次:1-6 求链式线性表的倒数第K项
给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。原创 2022-09-20 15:05:04 · 117 阅读 · 0 评论