《OJ 刷题日记》
不积跬步无以至千里,不积小流无以成江海
代码骑士
中国科学院大学计算机专业硕士。熟悉Python语言、机器学习、深度学习、NLP、CV、LLM等人工智能领域技术。喜欢交流学习和知识分享,平时会在CSDN分享一些学习笔记和技术Blog。
展开
-
PTA:L1-002 打印沙漏 (20 分)
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式:首先打印出由给定符号组成的原创 2022-01-27 10:18:41 · 220 阅读 · 0 评论 -
L1-011 A-B (20 分)
本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过104,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印出A−B的结果字符串。输入样例:I love GPLT! It's a fun game!aeiou输出样例:I lv GPLT! It's fn gm!转载 2022-01-27 12:54:42 · 111 阅读 · 0 评论 -
动态规划小练
代码:#include<iostream>#include<string>using namespace std;const int N = 1002;int c[N][N], b[N][N];char s1[N], s2[N];int len1, len2;void PuC_Path(){ for (int i = 1; i <= len1; i++)//i控制s1 { for (int j = 1; j <= len2; j+....原创 2022-04-04 19:38:47 · 540 阅读 · 0 评论 -
动态规划小练2
代码:#include<iostream>using namespace std;const int N = 100;char s1[N],s2[N];int d[N][N];int StrLen(char *s){ int i=0; while(s[i]!='\0') { i++; } return i;}int min(int a,int b){ return a<b?a:b;}int editDistance(char *str...原创 2022-04-04 21:32:49 · 421 阅读 · 0 评论 -
回溯法小练
代码:#include<iostream>#include<string>#include<algorithm>#define M 105 using namespace std;int i,j,n,W; //n表示n个物品,W表示购物车的容量double w[M],v[M];//w[i] 表示第i个物品的重量,v[i] 表示第i个物品的价值bool x[M]; //x[i]表示第i个物品是否放入购物车double cw; //当前重量d....原创 2022-04-05 13:04:15 · 112 阅读 · 0 评论 -
最大公约数-最小公倍数
题目 1446:蓝桥杯2013年第四届真题-核桃的数量时间限制: 1Sec 内存限制: 128MB 提交: 7214 解决: 4955题目描述小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:1. 各组的核桃数量必须相同2. 各组内必须能平分核桃(当然是不能打碎的)3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分....原创 2022-04-07 08:48:01 · 268 阅读 · 0 评论 -
求0~N内的素数
题目 1084:用筛法求之N内的素数。时间限制: 1Sec 内存限制: 64MB 提交: 27548 解决: 16297题目描述用筛法求之N内的素数。输入N输出0~N的素数样例输入复制100样例输出复制2357111317192329313741434753596167717379838997代码:#include<iostream>using namespace std;vo.原创 2022-04-07 08:56:33 · 510 阅读 · 0 评论 -
递归—FJ的字符串
FJ在沙盘上写了这样一些字符串:A1 = “A”A2 = “ABA”A3 = “ABACABA”A4 = “ABACABADABACABA”… …你能找出其中的规律并写所有的数列AN吗?输入仅有一个数:N ≤ 26。输出请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。样例输入复制3 样例输出复制ABACABA思路:代码:#include<iostream>#include.........原创 2022-04-07 09:43:28 · 363 阅读 · 0 评论 -
L1-019 谁先倒 (15 分)
划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。输入格式:输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数),以空格分隔。下一行给出一个正整数N(≤100),随后N行,每行给出一轮划拳的记录,格式为:甲喊 甲划 乙..原创 2022-06-23 20:47:31 · 92 阅读 · 0 评论 -
PTA刷题日日记:L1-054 福到了分数 15
题目:“福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 N×N 的网格组成的,网格中的元素或者为字符@或者为空格。而倒过来的汉字所用的字符由裁判指定。输入格式:输入在第一行中给出倒过来的汉字所用的字符、以及网格的规模 N (不超过100的正整数),其间以 1 个空格分隔;随后 N 行,每行给出 N 个字符,或者为@或者为空格。输出格式:输出倒置的网格,如样例所示。但是,如果这个字正过来倒过去是一样的,就先...原创 2022-05-19 22:36:32 · 145 阅读 · 0 评论 -
PTA刷题日记:L1-062 幸运彩票分数 15
题目:彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。输入格式:输入在第一行中给出一个正整数 N(≤ 100)。随后 N 行,每行给出一张彩票的 6 位数字。输出格式:对每张彩票,如果它是幸运的,就在一行中输出 You are lucky!;否则输出 Wish you good luck.。输入样例:2233008123456输出样例:You are lucky!W原创 2022-05-19 19:00:32 · 234 阅读 · 0 评论 -
PTA刷题日记:L1-035 情人节分数 15
以上是朋友圈中一奇葩贴:“2月14情人节了,我决定造福大家。第2个赞和第14个赞的,我介绍你俩认识…………咱三吃饭…你俩请…”。现给出此贴下点赞的朋友名单,请你找出那两位要请客的倒霉蛋。输入格式:输入按照点赞的先后顺序给出不知道多少个点赞的人名,每个人名占一行,为不超过10个英文字母的非空单词,以回车结束。一个英文句点.标志输入的结束,这个符号不算在点赞名单里。输出格式:根据点赞情况在一行中输出结论:若存在第2个人A和第14个人B,则输出“A and B are inviting you..原创 2022-05-19 18:25:15 · 183 阅读 · 0 评论 -
PTA刷题日记:L1-032 Left-pad分数 20
根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。这是个什么样的模块?就是在字符串前填充一些东西到一定的长度。例如用*去填充字符串GPLT,使之长度为10,调用left-pad的结果就应该是******GPLT。Node社区曾经对left-pad紧急发布了一个替代,被严重吐槽。下面就请你来实现一下这个模块。输入格式:输入在第原创 2022-05-19 18:25:23 · 159 阅读 · 0 评论 -
D-OJ刷题日记:二叉搜索树 题目编号:1114
浅刷两道题,活动活动筋骨。先来复习一下什么是树结构:(13条消息) 种树:二叉树、二叉搜索树、AVL树、红黑树、哈夫曼树、B树、树与森林_看,未来的博客-CSDN博客(3条消息) 漫画算法:什么是红黑树?_程序员的那些事_的博客-CSDN博客瞬间勾起了以往艰苦种树的回忆。题目:判断两序列是否为同一二叉搜索树序列输入描述开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束。接下去一行是一个序列,序列长度小于10,包含(0~9)的数.原创 2022-05-19 16:33:36 · 302 阅读 · 0 评论 -
D-OJ刷题日记:输出直接插入排序每趟比较的过程 题目编号:196
在教材中直接插入排序的基础之上,加入输出比较过的元素的过程。最后输出排好序的结果。输入描述第一行输入待排序记录个数第二行输入待排序序列输出描述输出每一趟比较的过程,每趟占一行输出最后排好序的结果,要求不输出空行输入样例1017 5 22 87 8 10 1 23 68 2输出样例1787 22 1787 22 1787 22 17 10 8 5878787 68 23 22 17 10 8 51 2 5 8 10 17 22 23 ...原创 2021-12-15 18:39:41 · 808 阅读 · 0 评论 -
D-OJ刷题日记:简单选择排序 题目编号:968
请创建一个一维整型数组用来存储待排序关键码,关键码从数组下标为1的位置开始存储,下标为0的位置不存储关键码。输入关键码的个数,以及各个关键码,采用简单选择排序的方法对关键码数组进行排序,输出每趟比较的过程。输入描述第一行输入关键码的个数n,第二行输入n个整型关键码。输出描述输出经比较需要交换的两个关键码,每趟一行,关键码之间以空格隔开,如果某趟没有交换,则不输出。最后输出排好序的所有关键码,以空格隔开,最后一个数据后面有空格。输入样例610 4 8 6 2 20输出样例原创 2021-12-15 11:31:07 · 533 阅读 · 0 评论 -
D-OJ刷题日记:排序 题目编号:987
请创建一个一维整型数组用来存储待排序关键码,关键码从数组下标为1的位置开始存储,下标为0的位置不存储关键码。输入关键码的个数,以及各个关键码,采用直接插入排序方法对关键码数组进行排序(从小到大),并按照哨兵设置在下标为0处的顺序查找方法进行查找。输出排好序之前的每一趟排序后的关键码序列。输入描述各个命令以及相关数据的输入格式如下:第一行输入关键码的个数n第二行输入n个整型关键码输出描述输出关键码比较过程,即输出每一趟排序后的关键码序列,每轮一行,关键码之间以空...原创 2021-12-14 20:32:42 · 221 阅读 · 0 评论 -
D-OJ刷题日记:计算二叉树的结点个数 题目编号:940
建立一棵二叉树,用二叉链表存储二叉树,计算二叉树中包含的结点个数,并分别计算该二叉树中度为0、1和2的结点个数。输入描述输入的数据只有一组,是一棵二叉树的先序遍历序列,结点的值为一个小写字母,#号表示结点为空。如输入:abde##f###c##。输出描述输出二叉树的结点个数、度为0的结点个数、度为1的结点个数和度为2的结点个数,用空格分开;如果为空树,则输出NULL。输入样例abde##f###c##输出样例6 3 1 2思路:水代码:#include原创 2021-12-14 16:22:52 · 637 阅读 · 0 评论 -
D-OJ刷题日记:对某位置范围内的数组中的元素进行排序 题目编号:1052
建立一个整型数组,键盘输入不相等的两个整数,将数组中在这两个数表示的位置之间的元素排好序并输出。输入描述首先输入整型数组中的元素个数n,然后输入n个整型数;再分别输入两个不相等的整数s,t(s输出描述输出在这两个数表示的位置范围内的数组元素排好序输出,以空格隔开。输入样例51 5 3 9 72 5输出样例3 5 7 9思路:水代码:#include<iostream>#include<algorithm>using原创 2021-12-14 16:19:56 · 165 阅读 · 0 评论 -
D-OJ刷题日记:查找 题目编号:984
定义一个整型数组r,用于存储关键码集合,其中r[1]~r[n]用于存储有效的关键码,r[0]用于设置哨兵,试从数组的高端开始查找在关键码集合中是否有符合给定值的记录,如果有,则返回关键码的比较次数和该记录所在数组的下标,如果没有,则返回关键码的比较次数,并返回0。输入描述各个命令以及相关数据的输入格式如下: 第一行输入关键码集合中关键码的数目,假设输入的值为n(n为大于0的正整数);第二行输入n个关键码,以空格隔开,注意是整型;接下来一行输入一个待查值.输出描述输出为一行,第一个.原创 2021-12-13 20:22:56 · 382 阅读 · 0 评论 -
D-OJ刷题日记:查找符合某范围的3的倍数,并按原来顺序输出 题目编号:1017
关键码类型为整型,按任意顺序输入若干个关键码组成待查找集合,可以有重复数据,输入查找范围,并将符合该范围的所有3的倍数按原来顺序输出。输入描述第一行输入关键码的个数n 第二行输入n个关键码第三行输入s和t,s表示要查找关键码的最小值,t是要查找关键码的最大值。输出描述按原来顺序输出符合查找范围所有3的倍数,以空格隔开,保留最后一个空格。输入样例10 5 9 -7 4 -1 3 15 4 6 8 -3 20输出样例9 3 15 6...原创 2021-12-13 19:55:38 · 328 阅读 · 0 评论 -
D-OJ刷题日记:顺序查找验证(将哨兵设在下标高端) 题目编号:1038
对给定的数组(假设长度为n<100),查找数组中与给定值k相等的元素。设计顺序查找算法,要求将哨兵设在下标高端,并统计顺序查找过程中元素的比较次数。提示:定义一个整型数组r,用于存储关键码集合,其中r[0]~r[n-1]用于存储有效的关键码,r[n]留作哨兵。输入描述第一行输入关键码集合中关键码的数目,假设输入的值为n(n为大于0的正整数) ;第二行输入n个关键码,以空格隔开,注意是整型;第三行输入1个待查值.输出描述如果找到待查值,输出和给定值的比较次数;...原创 2021-12-13 19:37:24 · 744 阅读 · 0 评论 -
D-OJ刷题日记:顺序查找验证 题目编号:1039
定义一个整型数组r,用于存储关键码集合,其中r[1]~r[n]用于存储有效的关键码,r[0]留作它用。按照哨兵设置在下标为0处的顺序查找方法,查找在关键码集合中是否有符合给定值的记录,如果有,返回该记录所在数组的下标,如果没有,返回0。设计顺序查找算法,并统计查找过程中元素的比较次数。(数组的长度小于<100),输入描述各个命令以及相关数据的输入格式如下: 第一行输入关键码集合中关键码的数目,假设输入的值为n(n为大于0的正整数) ;第二行输入n个关键码,以空格隔开,注意是整型;接下原创 2021-12-13 19:31:53 · 181 阅读 · 0 评论 -
D-OJ刷题日记:散列查找实验(开散列) 题目编号:583
请设计一个整型开散列表,散列函数为除留余数法,其中散列表的长度、除留余数法的模和关键码的个数由键盘输入,再根据输入由键盘输入所有的关键码。分别对三个待查值在散列表中进行查找,输出查找结果采用头插法。输入描述各个命令以及相关数据的输入格式如下:第一行输入闭散列表的长度n第二行输入除留余数法的模m第三行输入关键码的个数num第四行输入num个整型关键码第五行输入三个待查整型值输出描述输出三行,每行格式为: 如果找到待查值,输出找到待查值的位置,先输出待查值在散列表指针数组中的..原创 2021-11-21 15:46:31 · 1020 阅读 · 1 评论 -
D-OJ刷题日记:散列查找实验(闭散列) 题目编号:582
请设计一个整型闭散列表,散列函数为除留余数法,处理冲突时的探查方法为线性探查法,其中散列表的长度、除留余数法的模和关键码的个数由键盘输入,再根据输入由键盘输入所有的关键码。分别对三个待查值在散列表中进行查找,如果找到了输出位置,如果没找到,输出“none”并把该待查值插入到散列表中,如果散列表满输出“full”。输入描述各个命令以及相关数据的输入格式如下:第一行输入闭散列表的长度n第二行输入除留余数法的模m第三行输入关键码的个数num第四行输入num个整型关键码第五行输入三个待查整型值原创 2021-11-21 10:54:35 · 1242 阅读 · 0 评论 -
D-OJ刷题日记:堆排序验证性实验 题目编号:588
请创建一个一维整型数组用来存储待排序关键码,关键码从数组下标为1的位置开始存储,下标为0的位置不存储关键码。输入关键码的个数,以及各个关键码,采用堆排序的方法对关键码数组进行排序,输出初始堆序列,以及每轮调整堆的关键码比较过程。输入描述各个命令以及相关数据的输入格式如下:第一行输入关键码的个数n第二行输入n个整型关键码输出描述首先输出建初始堆的过程,输出要与双亲结点交换的根结点的关键码,每棵子树的调整占一行。接下来一行输出初始堆序列。接下来...原创 2021-11-20 14:47:51 · 635 阅读 · 0 评论 -
D-OJ刷题日记:归并排序验证性实验 题目编号:590
请创建一个一维整型数组用来存储待排序关键码,关键码从数组下标为1的位置开始存储,下标为0的位置不存储关键码。输入关键码的个数,以及各个关键码,采用归并排序的方法对关键码数组进行排序,输出每轮的中间过程。输入描述各个命令以及相关数据的输入格式如下:第一行输入关键码的个数n第二行输入n个整型关键码输出描述输出每轮的关键码数组,关键码之间以空格隔开,最后一个关键码后有空格,然后回车,可以有重复的行。输入样例102 5 9 8 7 4 ...原创 2021-11-20 14:46:13 · 781 阅读 · 0 评论 -
D-OJ刷题日记:特别数的和 题目编号:1054
小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。请问,在 1 到 n 中,所有这样的数的和是多少?输入描述输入一行包含一个整数 n。输出描述输出一行,包含一个整数,表示满足条件的数的和。输入样例40输出样例574注意:to_string()函数包含在string头文件中可以把整数转化成字符串,它在C++11中支持,如果C++原创 2021-11-17 12:11:40 · 314 阅读 · 0 评论 -
D-OJ刷题日记:Counting Sheep 题目编号:1064
题目描述 评论共有n(n<=20)组数据,其中每组数据有一个正整数m(m<=10),然后是m个单词,统计其中有多少个“sheep”, 单词大小写敏感, 因而"Sheep"等不匹配.输入描述45shep sheeps sheep ship Sheep7sheep sheep SHEEP sheep shepe shemp seep10sheep sheep sheep sheep sheep sheep sheep sheep sheep sheep4shape ..原创 2021-11-17 11:31:33 · 571 阅读 · 0 评论 -
D-OJ刷题日记:快速排序验证性实验 题目编号:589
题目描述 评论请创建一个一维整型数组用来存储待排序关键码,关键码从数组下标为1的位置开始存储,下标为0的位置不存储关键码。输入关键码的个数,以及各个关键码,采用快速排序的方法对关键码数组进行排序,输出每轮比较的过程。输入描述各个命令以及相关数据的输入格式如下:第一行输入关键码的个数n第二行输入n个整型关键码输出描述输出关键码比较过程,将需要移动的关键码输出,每轮一行,关键码之间以空格隔开,最后一个关键码后有空格,然后回车,不重复输出,最后将排好序的关键...原创 2021-11-17 11:14:00 · 658 阅读 · 0 评论 -
D-OJ刷题日记:希尔排序验证性实验 题目编号:587
请创建一个一维整型数组用来存储待排序关键码,关键码从数组下标为1的位置开始存储,下标为0的位置不存储关键码。输入关键码的个数,以及各个关键码,采用希尔排序的方法对关键码数组进行排序,输出每轮比较的过程。输入描述各个命令以及相关数据的输入格式如下:第一行输入关键码的个数n第二行输入n个整型关键码输出描述输出关键码比较过程,每轮一行,关键码之间以空格隔开,最后一个关键码后有空格,然后回车,不重复输出最后输出排好序的关键码,以空格隔开,最后回车。...原创 2021-11-16 11:04:59 · 773 阅读 · 0 评论 -
D-OJ刷题日记:简单选择排序验证性实验 题目编号:585
请创建一个一维整型数组用来存储待排序关键码,关键码从数组下标为1的位置开始存储,下标为0的位置不存储关键码。输入关键码的个数,以及各个关键码,采用简单选择排序的方法对关键码数组进行排序,输出每轮比较的过程。输入描述各个命令以及相关数据的输入格式如下:第一行输入关键码的个数n第二行输入n个整型关键码输出描述输出关键码比较过程,输出经比较需要移动的关键码,每轮一行,关键码之间以空格隔开,最后一个关键码后有空格,然后回车,不重复输出,不输出空行,最后输出排好序的所有...原创 2021-11-16 09:31:43 · 933 阅读 · 0 评论 -
D-OJ刷题日记:起泡排序验证性实验 题目编号:586
请创建一个一维整型数组用来存储待排序关键码,关键码从数组下标为1的位置开始存储,下标为0的位置不存储关键码。输入关键码的个数,以及各个关键码,采用起泡排序的方法对关键码数组进行排序,输出每轮比较的过程。输入描述各个命令以及相关数据的输入格式如下:第一行输入关键码的个数n第二行输入n个整型关键码输出描述输出关键码比较过程,即输出交换的两个关键码中后面一个,每轮一行,关键码之间以空格隔开,最后一个关键码后有空格,然后回车,不重复输出。最后输出排好序的..原创 2021-11-15 18:16:21 · 830 阅读 · 0 评论 -
D-OJ刷题日记:直接插入排序验证性实验 题目编号:584
请创建一个一维整型数组用来存储待排序关键码,关键码从数组下标为1的位置开始存储,下标为0的位置不存储关键码。输入关键码的个数,以及各个关键码,采用直接插入排序的方法并采用哨兵法对关键码数组进行排序,输出每轮比较的过程。输入描述各个命令以及相关数据的输入格式如下:第一行输入关键码的个数n第二行输入n个整型关键码输出描述输出关键码比较过程,即输出每轮中向后移动的元素,每轮一行,关键码之间以空格隔开,最后一个关键码后有空格,然后回车,不重复输出,不输出空行,最后输出排好序..原创 2021-11-15 17:37:14 · 875 阅读 · 0 评论 -
D-OJ刷题日记:折半查找 题目编号:518
折半查找题目编号:518题目描述 评论定义一个整型数组r,用于存储关键码集合,其中r[1]~r[n]用于存储有效的关键码,r[0]留作它用,注意该数组按关键码有序。按照折半查找方法,查找在关键码集合中是否有符合给定值的记录,如果有,返回该记录所在数组下标,如果没有,返回0。要求输出查找过程,即输出每一轮的low,mid,high值,查找过程中需要比较的关键码值都输出。(数组的长度小于<100)输入描述各个命令以及相关数据的输入格式如下:第一行输入关键码集合中关键码的数目,假设.原创 2021-11-13 15:06:54 · 908 阅读 · 0 评论 -
D-OJ刷题日记:顺序查找 题目编号:517
定义一个整型数组r,用于存储关键码集合,其中r[1]~r[n]用于存储有效的关键码,r[0]留作它用。按照哨兵设置在下标为0处的顺序查找方法,查找在关键码集合中是否有符合给定值的记录,如果有,返回该记录所在数组的下标,如果没有,返回0。要求输出查找过程,即查找过程中需要比较的关键码值都输出。(数组的长度小于<100),输入描述各个命令以及相关数据的输入格式如下: 第一行输入关键码集合中关键码的数目,假设输入的值为n(n为大于0的正整数);第二行输入n个关键码,以空格隔开,注意是整型...原创 2021-11-13 13:03:00 · 760 阅读 · 0 评论 -
D-OJ刷题日记:饭卡问题 (普通背包问题) 题目编号:1088
饭卡问题 (普通背包问题)题目编号:1088题目描述 评论电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。输入描述多组数据。对于每组数据:第一行为正整数n,表示菜的数量。n<=1000。第.原创 2021-11-08 20:36:58 · 162 阅读 · 0 评论 -
D-OJ刷题日记:使用邻接表实现AOV网的拓扑排序算法 题目编号:1137
使用邻接表实现AOV网的拓扑排序算法题目编号:1137题目描述 评论用邻接表存储有向图,在顶点表中增加入度域,使用队列存储入度为零的顶点编号,实现AOV网的拓扑排序算法,并输出拓扑序列,顶点个数少于20个。部分提示代码:#include <iostream>using namespace std;struct Arcnode{int adjvex;Arcnode *next;};struct Vertexnode{int in;.原创 2021-11-08 15:13:31 · 1192 阅读 · 0 评论 -
D-OJ刷题日记:使用邻接矩阵实现有向图最短路径Dijkstra算法 题目编号:1136
使用邻接矩阵实现有向图最短路径Dijkstra算法题目编号:1136题目描述 评论用邻接矩阵存储有向图,实现最短路径Dijkstra算法,图中边的权值为整型,顶点个数少于10个。部分代码提示:#include <iostream>#include <string>using namespace std;const int MaxSize = 10;const int INF = 32767;class MGraph{publi.原创 2021-11-07 21:27:20 · 1113 阅读 · 0 评论 -
D-OJ刷题日记:使用邻接矩阵实现最小生成树Prim算法 题目编号:1135
思路:【理解prim算法本质——让一棵小树逐渐长大】Prim算法生成树用的是MST性质(Minnum Spanning Tree)。设集合N是一个连通图,N={V,E},V表示图中所有顶点的集合,V = {v0,v1,v2……}。E表示图中所有的边的集合E = { e1 ,e2 ,e3,……}。而对于所生成的树,它的顶点和边我们要用新的集合来表示。假设 U 表示的是树的结点集合,TE表示的是树的边集合。那么起初,我们应该从图的任意结点出发,构建一个最小生成...原创 2021-11-05 08:08:45 · 1838 阅读 · 0 评论