JLU
UncleJokerly
Tough days don't last.Tough people do.
展开
-
复试上机KY175连通图
初始设定每个结点的老大是自己,当输入一条边之后,这条边的两个结点要打一架(归并),靠左原则确定双方老大哪一个上位。最后检查所有结点的老大(注意是findfather()而不是father【】,因为要看最终老大)是否是同一个,若是则连通。随后有 m 行数据,每行有两个值 x 和 y(0原创 2023-03-20 09:33:23 · 135 阅读 · 1 评论 -
复试上机KY179搬水果(哈夫曼)
在一个果园里,小明已经将所有的水果打了下来,并按水果的不同种类分成了若干堆,小明决定把所有的水果合成一堆。每一次合并,小明可以把两堆水果合并到一起,消耗的体力等于两堆水果的重量之和。假定每个水果重量都为 1,并且已知水果的种类数和每种水果的数目,你的任务是设计出合并的次序方案,使小明耗费的体力最少,并输出这个最小的体力耗费值。可以先将 1,2 堆合并,新堆数目为3,耗费体力为 3。解题思路:运用哈夫曼的思想,找到最小值后将最小值的值和位置记录下来,将数组中最后一个值放到最小值所在位置并n--。原创 2023-03-19 21:46:13 · 204 阅读 · 2 评论 -
复试上机KY176排列与二进制
从n个不同元素中取出m(m原创 2023-03-19 10:58:24 · 106 阅读 · 1 评论 -
复试上机KY177平方因子
对于每一个输入的整数,在单独的一行输出结果,如果有不为1的完全平方数因子,则输出Yes,否则输出No。给定一个数n,判定它是否有一个不为1的完全平方数因子。也就是说,是否存在某个k,k>1,使得k*k能够整除n。解题思路:注意k*k整除n,n是被除数,所以要想整除就要k*k原创 2023-03-18 18:02:16 · 102 阅读 · 0 评论 -
复试上机KY178数字之和
对于每个输入数据,计算其各位数字之和,以及其平方值的数字之和,输出在一行中,之间用一个空格分隔,但行末不要有空格。对于给定的正整数 n,计算其十进制形式下所有位置数字之和,并计算其平方的各位数字之和。每行输入数据包括一个正整数n(0原创 2023-03-18 17:37:13 · 127 阅读 · 0 评论 -
复试上机KY174翻牌
在本题目中,还引入另外一种洗牌方式,就是把前一半(如果总数是奇数,就是(n-1)/2)牌翻转过来,这种操作称之为翻转(flip)。给定n张牌,初始次序为从1到n,经过若干次的shift和flip操作后,结果会是什么样?n表示牌的数目,1原创 2023-03-18 16:41:24 · 108 阅读 · 0 评论 -
复试上机KY173三角形的边
给定三个已知长度的边,确定是否能够构成一个三角形,这是一个简单的几何问题。我们都知道,这要求两边之和大于第三边。实际上,并不需要检验所有三种可能,只需要计算最短的两个边长之和是否大于最大那个就可以了。这次的问题就是:给出三个正整数,计算最小的数加上次小的数与最大的数之差。对于输入的每一行,在单独一行内输出结果s。上式中,min为最小值,mid为中间值,max为最大值。每一行包括三个数据a, b, c,并且都是正整数,均小于10000。原创 2023-03-18 16:30:44 · 102 阅读 · 0 评论 -
复试上机KY172 字符串的反码
复试上机KY172 字符串的反码原创 2023-03-18 11:42:44 · 498 阅读 · 0 评论 -
2010软专算法题(判断有向图是否有回路)
已知有向图G=(V,E),具有n个顶点,以邻接表的形式存储。请设计一个算法,判断图G中是否存在有向回路。原创 2022-11-25 20:15:01 · 1071 阅读 · 0 评论 -
2011软专算法题(层次遍历求二叉树的宽度)
假定某二叉树以链接形式(每个结点包括三个字段,left,data,right)存储,请设计一个算法,求该二叉树的宽度(一棵二叉树的宽度系指:在该二叉树的各层上,具有结点树最多的那一层上的结点总数)。原创 2022-11-25 19:38:14 · 348 阅读 · 0 评论 -
2012软专算法题(完全二叉树的判断)
假定某二叉树以链接形式(每个结点包括三个字段:left,data,right)存储,试编写一算法,判断给定二叉树是否是完全二叉树。同2016年软专算法题T1。原创 2022-11-24 18:38:44 · 132 阅读 · 0 评论 -
2013软专算法题T2(基于链表的归并排序)
设有n个待排序元素存放在一个不带表头结点的单链表中,每个链表结点只存放一个元素,头指针为 r,试设计一个算法,对其进行二路归并排序,要求不移动结点中的元素,只能改动各链表结点中的指针,排序后 r 仍指示结果链表的第一个结点。划分:使用递归,先用快慢指针找到链表中的中值,从中间咔叽。将链表中前半部分排序的结果同后半段的排序结果归并。1.不带头结点的尾插法:单独将第一个元素存入到结点中,再插在头指针后面,后面的结点正常插入。归并:so easy 自己看。2.归并排序:先划分,再归并。原创 2022-11-22 22:32:59 · 176 阅读 · 0 评论 -
2013软专算法题T1(折半查找)
利用折半查找方法在长度为n且按值有序的顺序表K中查找并删除数据元素item,编写算法并分析该算法的时间复杂度(要求给出较为详细的分析过程)1.设置low和high分别为一维数组的首尾标记,mid为(low+high)/2,即中值。2.当mid与带查找元素x相等时,则将mid及后面的数据元素均向前移一位。3.若mid大于x,则在mid的左边查找,将high置为mid-1。4.若mid小于x,则在mid的右边查找,将low置为low+1。解题思路:hht(详细描述折半查找)原创 2022-11-22 19:59:29 · 163 阅读 · 0 评论 -
2014软专算法题T2(平衡二叉树的判断)
平衡二叉树是任意结点左右子树的深度相差不超过1的二叉树,已知一棵二叉树采用二叉链表存储,结点结构为(left,data,right),root指向根结点。请编写算法判断二叉树是否是一棵平衡二叉树。原创 2022-11-21 21:54:49 · 194 阅读 · 0 评论 -
2014软专算法题T1(层次遍历)
如果要对二叉树进行自下而上,自右向左的层次遍历,请给出遍历算法原创 2022-11-21 21:09:00 · 186 阅读 · 0 评论 -
2015软专算法题T2
请按照如下要求设计一个算法:将整型一维数组A[n]调整为左右两个部分,使得左边所有元素均为奇数。右边所有元素均为偶数,要求算法时间复杂度为O(n),空间复杂度为O(1)。原创 2022-11-19 21:59:15 · 151 阅读 · 0 评论 -
2015软专算法题T1(无向图树)
请按照如下要求设计一个算法:将整型一维数组A[n]调整为左右两个部分,使得左边所有元素均为奇数。右边所有元素均为偶数,要求算法时间复杂度为O(n),空间复杂度为O(1)。原创 2022-11-19 21:37:53 · 213 阅读 · 0 评论 -
2016软专算法题T1(层次遍历、链队列)
2.判断在空结点之后,是否有非空结点,若有则返回0,无则继续判断,直至层次遍历完成。请设计一个算法判断二叉树T是否为一棵完全二叉树,若是,返回1;解题思路:构建二叉树;用data值为0的结点看作空结点。其中要将所有结点加入队列,包括空结点。原创 2022-11-19 19:20:45 · 131 阅读 · 0 评论 -
2016软专算法题T2(邻接表存储模板)
若G是一个使用邻接表存储的有向图。请设计一个算法:利用深度优先遍历方法,对该图G中结点进行拓扑排序。原创 2022-11-18 22:24:36 · 232 阅读 · 0 评论 -
2017算法题T1(构建二叉树、先根遍历)
解题思路:首先要依据前序和中序序列递归构建出二叉树,再先根遍历二叉树,注意本题多出了求结点所在层次的要求。若以先根次序遍历一棵二叉树,请设计如下算法,输出所有结点的关键字及结点所在层次。原创 2022-11-16 20:45:43 · 145 阅读 · 0 评论 -
2017软专算法题T2 (双向链表,排序)
给定一个带表头结点的双向链表L,每个结点有4个数据成员:前驱结点的指针LLink、后继结点的指针RLink、数据的成员Data、和访问频度Freq:且已知双向链表L中结点一直按访问频度递减的顺序排列,即频繁访问的结点总是靠近表头:初始状态L中所有结点的Freq都为0.对双链表L的Locate(x)操作:每操作一次,将数据值为x的结点访问频度Freq加1.请设计一个算法实现对双链表L的Locate(x)操作,要求操作后L中结点仍按照访问频度的递减顺序排列。2.建立一个双向链表且按频度递减排列。原创 2022-11-16 21:45:42 · 220 阅读 · 0 评论 -
2018软专算法题T2
设G=(V,E)是一个连通图,已知图中两个顶点 i 属于V,j 属于V,请设计一个算法给出从顶点i到顶点j的所有简单路径。解题思路:首先要掌握建立图,包括结构体定义和建图的过程。主要考察的是DFS深搜算法。DFS邻接表时间复杂度为O(|V|+|E|)原创 2022-11-15 10:17:48 · 171 阅读 · 1 评论 -
2018软专算法题T1
(1)编写算法,将这两个单链表合并为一个按元素值递减次序排列的单链表(要求:不额外增加任何存储空间,利用原来两个单链表的结点存放合并后的单链表)解题思路:jt将两个有序表合并为一个有序表,则使用归并排序,因为要得到元素值递减次序排列的单链表i哦,所以将元素值较小的元素头插入链表。已知两个以单链表形式存储的线性表,每个表均按照元素值递增此讯进行排列。归并排序算法时间复杂度为O(nlogn)(2)分析你所给出算法的时间复杂度。原创 2022-11-15 08:34:49 · 159 阅读 · 0 评论 -
王道数据结构——树
先中后序遍历 递归和非递归层次遍历二叉树的中序线索化中序线索二叉树的中序序列(找后继)和逆中序序列(找前驱)原创 2022-08-11 19:09:05 · 378 阅读 · 0 评论 -
王道数据结构——串
串的顺序存储静态分配原创 2022-08-09 20:47:32 · 167 阅读 · 0 评论 -
王道数据结构——表达式求值
表达式求值原创 2022-08-05 16:10:53 · 145 阅读 · 0 评论 -
王道数据结构——栈在括号匹配中的应用
栈在括号匹配中的应用原创 2022-08-05 16:08:04 · 652 阅读 · 0 评论 -
王道数据结构——链队列
链队列原创 2022-08-05 16:03:58 · 181 阅读 · 0 评论 -
王道数据结构——顺序循环队列
顺序循环队列原创 2022-08-05 16:03:10 · 221 阅读 · 0 评论 -
王道数据结构——顺序栈
顺序栈原创 2022-08-05 16:01:21 · 226 阅读 · 0 评论 -
王道数据结构——循环双链表(双向循环链表)
循环双链表(双向循环链表)原创 2022-08-05 16:00:20 · 220 阅读 · 0 评论 -
王道数据结构——单链表(后插法和其他操作)
单链表(后插法和其他操作)原创 2022-08-05 15:58:51 · 267 阅读 · 0 评论 -
王道数据结构——单链表
单链表原创 2022-08-05 15:57:33 · 397 阅读 · 0 评论 -
王道数据结构——动态分配顺序表
线性表采用顺序存储的动态分配方式实现。原创 2022-08-05 15:56:38 · 346 阅读 · 0 评论 -
王道数据结构——静态分配顺序表
线性表采用顺序存储的静态分配方式实现原创 2022-08-05 15:55:18 · 179 阅读 · 0 评论 -
2019软专算法题T1(链表模板)
带头结点的双向循环链表L(a1,a2...an)转换为L'(a1,a3,...,an,...,a4,a2)先Mark,明天继续。。。#include<stdio.h>#include<algorithm>using namespace std;typedef struct Node{ int data; struct Node *next;} Node,*List;//初始化一个单链表 bool InitList(List &L)//传原创 2021-12-16 01:03:50 · 1032 阅读 · 0 评论 -
2007软专高级程序语言T5(优先队列的使用)
设计一个程序,输出递增序列A中前100个数,序列A满足:1.数1在序列A中2.若x在序列A中,则2x,3x也在序列A中3.序列A中无其它数解题思路:priority_queue,greater>优先队列 按照由小到大顺序priority_queue<int,vector<int>,greater<int>>优先队列 按照由小到大顺序_lethic的专栏-CSDN博客1入队,1*2=2入队,1*3=3入队,1出队2*2=4入队,原创 2021-12-16 01:03:47 · 282 阅读 · 1 评论 -
2007软专高级程序语言T4(递归求函数最大值)
编一个递归函数,求给定数组A中的最大元素。假设数组A是含有100个整数的数组。解题思路:递归入门递归很难想,用分治的思想,能列出通式就能用递归代码如下:#include<stdio.h>int maxx(int a[],int n){ if(n==1) { return a[0]; } int t=maxx(a+1,n-1); if(a[0]>t) { return a[0]; } else return t;}int ma原创 2021-12-15 21:31:46 · 234 阅读 · 0 评论 -
2007软专高级程序语言T3(前中序列构建二叉树,遍历二叉树)
设有二叉树,其结点有三个域:数值域(整形),左、右指针域,编一个函数,求给定二叉树所有结点数值域的和如: -4 5 10-3 20 7输出结果为:35解题思路:没有画图,就是求各个结点的数值域的和前中序构建二叉树遍历二叉树并累加数值域的值代码如下:#include<stdio.h>#include<string>#include<algorithm>using na...原创 2021-12-15 21:31:42 · 158 阅读 · 0 评论 -
2007软专高级程序语言T2
设有一递减整数序列,我们把所有相同的数组成的子序列称为平台,而组成平台的数的个数称为平台的长度,编写一个函数,求长度为n的序列中最长的平台长度。例如:序列 9 8 8 8 8 7 3 3 1 1 1其最长的平台长度为4解题思路:循环 比较 更新...代码如下:#include<stdio.h>void plat(int a[],int n){ int key=a[0]; int len=1; int maxx=0; for(int i=1;i<原创 2021-12-15 21:31:39 · 158 阅读 · 0 评论