- 博客(24)
- 收藏
- 关注
原创 算法练习-回溯法和分支限界法
(4)世界上有超过100万种动物,各种动物有自己的语言。假设动物A可以直接与动物B进行交流,但无法直接与动物C交流,动物C只能直接与动物B交流,所以动物A、C之间的交流需要动物B来当翻译。给定动物数量和可以直接交流的动物种类,欲使所有动物之间都可以交流,至少需要多少个翻译?(1)在由3×3个方格构成的方阵填入1~10中的9个数字,每个方格填一个整数,使得所有相邻两个方格内的整数之和为素数。(2)设计一个算法求出满足方程ab-cd+e=1的变量a、b、c、d、e的值,其中所有变量的取值为1~5并且互不相同。
2024-11-24 20:25:50
209
原创 算法练习-动态规划和贪心算法
(2)括号序列有()、{}和[]组成,“(([{}]))()”是合法的,而“(}{)”、“(}(}”和“({)}”都是不合法的。例如,“(}(}”最少需要添加4个括号成为合法括号序列,即变为“(){}(){}”。假设用数组a存放各加油站之间的距离,例如a[]={2,7,3,6},表示共有n=4个加油站(编号为0~n-1),从起点到0号加油站的距离为2公里,依次类推。(1)给定一个m行n列的矩阵,从左上角开始每次只能向右或向下移动,最后到达右下角的位置,移动路径上的数字之和作为这条路径的路径和。
2024-11-24 20:22:22
317
原创 算法练习-递归和分治
(3)有n(n>3)个硬币,其中一枚是假币,由于假币的重量较轻,可以采用天平称重的方式找到这枚假币。请设计算法模拟寻找假币的过程。(4)给定一个整数序列,每个元素出现的次数称为重数,重数最大的元素称为众数。请设计算法对一个递增有序的整数序列寻找众数。(2)假设二叉树采用二叉链表存储结点,设计递归算法判断两棵二叉树是否同构。(1)对于一个不带头结点的单链表,设计递归算法逆置所有结点。
2024-11-24 20:19:25
207
原创 算法练习-查找和排序
(a)建立一棵二叉排序树:对从键盘输入的顺序任意的若干个正整数建立一颗二叉排序树,以-1作为结束。(2)对从键盘输入的顺序任意的10个正整数,分别通过快速排序、希尔排序、堆排序、二路归并排序使之成为有序的序列。(1)对二叉排序树的进行操作,要求实现一个简单的字符界面,根据用户选择完成相应处理,并输出处理结果。(f)编写递归算法,从大到小输出二叉排序树中所有关键字不小于x的数据元素。(c)查找:输入一个关键字,进行查找。(d)插入:输入一个关键字,进行插入。(e)删除:输入一个关键字,进行删除。
2024-11-24 20:13:44
198
原创 数据结构-图实验
(1)基于图的深度优先搜索策略写一个算法,判别以邻接表方式存储的有向图中是否存在由顶点vi到顶点vj的路径(i!(2)基于图的广度优先搜索策略写一个算法,判别以邻接表方式存储的有向图中是否存在由顶点vi到顶点vj的路径(i!(3)以邻接表为存储结构实现从源点到其余各顶点的最短路径的Dijkstra算法,要求输出最短路径及其长度。
2024-11-24 20:09:59
137
原创 数据结构-以二叉链表存储的二叉树
(1)二叉树采用二叉链表存储,编写计算二叉树最大宽度的算法(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)。(2)以二叉链表作存储结构,设计算法求二叉树中叶子结点的数目。
2024-09-18 15:28:09
517
原创 数据结构-循环队列练习
在循环队列中,以front和length分别表示循环队列中的队头位置和队列中所含元素的个数。试完成循环队列判断队空、判断队满入队和出队函数的实现。
2024-09-12 15:22:36
230
原创 数据结构-带头结点的有序单链表类练习
(a)插入函数:把元素值e作为数据元素插入表中。设计一个带头结点的有序单链表类。(b)删除函数:删除数据元素等于e的结点。
2024-09-12 15:09:29
189
原创 数据结构-带头结点的单链表练习
(a)定位函数:在单链表中寻找第i个结点。若找到,则返回第i个结点的地址,否则返回空指针。(b)统计函数:统计单链表中等于给定值e的元素个数。
2024-09-12 15:05:43
241
原创 数据结构-有序顺序表练习
(d)从有序顺序表中删除其值在给定值s与t之间(s<t)的所有元素,如果s≥t或顺序表为空,则显示出错信息,并退出运行。设计一个有序顺序表类,即表中的数据元素按数据元素值递增有序。(c)合并两个有序表,得到一个新的有序表。(b)删除值为e的所有数据元素。(a)把给定值e插入有序表中。
2024-09-12 14:59:48
176
原创 数据结构-顺序表练习
(c)在一个顺序表中如果一个数据值有重复出现,则留下第一个这样的数据值,并删除其他所有重复的元素,使表中所有元素的值均不相同。(a)从顺序表中删除具有最小值的元素(假设顺序表中元素都不相同),并由函数返回被删元素的值,空出的位置由最后一个元素填补。(b)从顺序表中删除具有给定值e的所有元素。
2024-09-12 14:55:48
171
原创 C++练习九
2500年前数学大师毕达哥拉斯就发现,正整数数对220和284之间存在着奇妙的联系: 220的因数之和(除了自身之外的因数)为1+2+4+5+10+11+20+22+44+55+110=284,而284的因数之和则为1+2+4+71+142=220。各相亲数的输出格式:先输出该相亲数是M到N间的第几个相亲数,再输出该相亲数中的雌、雄数及其因子计算式。雌雄数输出时分别各占一行,输出时先输出雌雄数的值,再输出英文冒号“:”,再从1开始输出各因数相加的公式,最后输出英文等号“=”和所有因数之和。
2023-12-04 16:39:00
686
原创 C++练习八
【问题描述】输入一维数组,将数组中相同的数只保留一个,并输出该数组【输入形式】输入数组元素个数n和相应的数组元素【输出形式】输出该数组,相同的数只保留一个【样例输入】input n of array:15【样例输出】【样例说明】输出的每个数组元素用setw(4)设置域宽【问题描述】给一个整型数组中的数按从小到大连续编号,要求相同数字编号相同,编号从1开始,输出编号结果时按照原数组元素的顺序输出。【输入形式】
2023-12-04 16:12:14
631
原创 C++练习五
编程验证一个有趣的数学现象:任意一个四位正整数(各位数字不能全相同),把组成该整数的各位数字从大到小排列得到一个最大的四位整数,再把各位数字从小到大排列得到一个最小的四位整数,用前者减去后者得到一个新的四位整数。编写程序,读入评委打分(分数都是整数,评委人数大于等于5,小于等于50),去掉两个最高分和两个最低分,计算并输出平均得分(小数点后保留两位有效数字)。输入评委打分有15个,去掉两个最高分100和100,两个最低分90和90,计算平均得分为:94.82。
2023-11-06 09:12:22
771
原创 C++练习四
输入一个正整数n,求1到n之间所有数的平方和.2. 《级数求和》3. 《求余弦函数的近似值》4. 《水仙花数》5. 求阶乘和6.《求a +aa +aaa +aa…a(n 个a) 之和》
2023-10-30 15:51:23
1079
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人