- 博客(19)
- 收藏
- 关注
原创 最大生成树
图之最大生成树最大生成树思路与最小生成树类似,区别在与每次找最长的边和对应的顶点采用prim写法如图:测试:代码如下:#include<iostream>using namespace std;int visited[10] = { 0 };int dist[10];int graph[10][10];void fun(){ int res, pos; res = 0; pos = 0; cout << "顶点个数:" << end
2021-10-18 16:08:56 955 5
转载 习题5-5 使用函数统计指定数字的个数 (15 分)
本题要求实现一个统计整数中指定数字的个数的简单函数。函数接口定义:int CountDigit(int number,int digit);其中number是不超过长整型的整数,digit为[0, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。裁判测试程序样例:#include <stdio.h>int CountDigit( int number, int digit );int main(){ int number, dig
2021-03-01 23:14:45 253
原创 分治解决归并排序
分治基本概念:把一个任务分成形式和原任务相同,但规模更小的几个部分子任务,分别完成,或只需要选一部分完成。然后再处理完成后的这一个或几个部分的结果,实现整个任务的完成。动态规划基本概念:通常许多子问题非常相似,为此动态规划试图仅仅解决每个子问题一次,从而减少计算量,算出子问题的解之后,则将其记忆化存储。归并排序的解题思路:数组排序任务可以按如下步骤完成:(1)把前一半排序(2)把后一半排序(3)把两半归并到一个新的有序数组,然后再拷贝回原数组,排序完成类似这样的,可以用两个指针p1,p2
2021-01-24 17:47:25 202
原创 数字三角形递归与递推
如图所示的数字三角形:73 88 1 02 7 4 44 5 2 6 5在这样一个数字三角形中寻找一条从顶点到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或者右下走,只需要求出这个最大和即可,不必给出具体路径。解题思路:此题为动态规划的典型运用,做此分析,要求顶部到底边的最大和,则从左下或者右下走到底边的和也是最大的,问题的最优解也是子问题的最优解,有递归和递推两种解法,在使用递归时,要记得
2021-01-24 17:09:15 552
原创 递增的整数序列链表的插入(不带头结点)
题目背景:本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。函数接口定义:List Insert( List L, ElementType X );其中List结构定义如下:typedef struct Node PtrToNode;struct Node {ElementType Data; / 存储结点数据 /PtrToNode Next; / 指向下一个结点的指针 /};typedef PtrToNode List; / 定义单链表类
2020-10-09 11:06:39 422
原创 关于共用体的一个例子
共用体定义形式如下:union 共用体名{类型名 成员1;类型名 成员2;…类型名 成员 n;}由于各个成员变量在内存中都是用同一段存储空间,因此共用体变量的长度等于最长成员的长度。此外介绍一下数组在内存中的存储方式。例如 int a[5];#include<stdio.h>int main() { union key { int k; char ch[2]; }u; u.k = 258; printf("%d %d\n", u.ch[
2020-10-04 10:34:58 953
原创 蒙特卡罗模拟赌徒人生
在学习的过程中也要多思考。模拟赌徒的人生,每一次都是随机的过程,模拟完整个过程,根据结果可以判断赌徒最后的输赢情况。代码如下:import random import matplotlib.pyplot as plt def give_the_number(): number=random.randint(1,100) # 1-100 随机抽取 if number>50: print(number,"the number is 50-100.You w
2020-08-30 21:14:59 967
原创 python 彩色蟒蛇绘制
先介绍一下turtle,circle()函数,turtle(radius, extent=None, steps=None)参数:radius----一个数值 半径extent–一个数值角度(或None)steps–一个整形数(或None)基本上默认None绘制一个radius指定半径的圆。圆心在海龟左边radius个单位;extent为一个夹角,用来决定绘制圆的一部分。如未指定extent则绘制整个圆。如果extent不是完整圆周,则以当前画笔位置为一个端点绘制圆弧。如果radius为正值则朝
2020-07-03 19:37:12 10110
原创 python 实现汇率兑换程序
编写一个程序,实现汇率兑换美元和人民币互相转换,1美元=6人民币先介绍一下字符串,比如a=[‘Happy’,‘Birthday’,‘To’,‘You’]那么顺序列表元素的标号为0,1,2,3 倒序为-1,-2,-3,-4Happy即可以用a[0]表示,也可以用a[-4]表示 同理You即可以用a[3]表示,也可以用a[-1]表示a[0:-1]为“Happy Birthday To”,没有You,左边右开区间相当于回到正题,汇率兑换,代码如下:#汇率兑换程序#1美元=6 人民币TempS
2020-07-03 18:24:51 47023
原创 turtle库函数绘制包含同心圆的靶盘
咱们先来看下turtle画同切圆的例子import turtle #引用turtle库turtle.pensize(6) #设置画笔宽度为2像素turtle.circle(10) #绘制半径为10像素的圆turtle.circle(40) #绘制半径为40像素的圆turtle.circle(80) #绘制半径为80像素的圆turtle.circle(100)turtle.circle(160) #绘制半径为160像素的圆如果单纯只是使用turtle.circle()肯定是不行的,
2020-07-03 17:52:10 5911
原创 生理周期
依旧是枚举主题,我们来看看生理周期问题。问题描述:人有体力,情商,智商的高峰日子,他们分别每隔23天,28天和33天出现一次。对于每个人,我们想知道何时三个高峰落在同一天。给定三个高峰出现的日期p,e,i(不一定是高峰第一次出现的日子),再给定另一个指定的日子d,你的任务是输出日子d之后,下一次三个高峰落在同一天的日子(用距离d的天数表示)。例如:给定日子为10,下次出现三个高峰同一天的日子是12,则输出2.输入:输入四个整数:p,e,i和d. p,e,i分别表示体力,情感和智力高峰出现的日子。d
2020-06-29 19:16:14 3046
原创 枚举思想解决完美立方问题
一.问题描述:形如a3=b3+c3+d3的等式被称为完美立方等式。例如123=63+83+103.编写一个程序,对任意给出的正整数N(N<=100),寻找所有的四元组(a,b,c,d),使得等式成立,其中a,b,c,d大于1,小于等于N,且b<=c<=d.输入:一个正整数N(N<=100).输出:每行输出一个完美立方。输出格式为:Cube=a,Triple=(b,c,d) 其中a,b,c,d所在位置分别用实际求出四元组代入二.思路:可以用枚举的思想解决此问题分析a,b,
2020-06-29 10:30:42 586
原创 二叉树的应用
一、实验目的掌握树形结构的特点,二叉树的存储方式以及相应操作。二、实验内容1、根据输入的数据建立一个二叉树。2、输出二叉树(输出的结果应为树型结构)。3、输出其前序、中序和后序遍历的结果。4、输出树的深度,最大元,最小元。三、实验要求1、用链表实现。四.解题总结:1.看图说话,咱们先来看看结果,相当于测试用例。这道实验题的关键点之一也是重点之一就是如何成功地创建一个二叉树的结构?这里参考这位大佬的博客https://blog.csdn.net/weixin_36372879/art
2020-06-08 22:47:53 1232 1
原创 python列表和字符串的可变性
python中列表和字符串的使用有大多数方法是类似和通用的,可以和C里的数组类比。今天来看看列表和字符串的区别。举个例子,(1)a = ‘I love u’ ; b = a ; a = ‘I don’t love u anymore’ b=?(2)c = [‘A’,‘B’,‘C’,‘D’] ; d = c ; c[0] = ‘B’; d=?我们来验证一下:可以看出(1)中字符串a 'I love u’在进行赋值给b后,a被修改,但是b却没有发生变化 b还是原
2020-06-03 20:03:29 273
原创 删除容器中重复的元素
先看一个例子:a[]={8,7,8,9,6,2,1},a这个数组中一共有7个元素,其中8重复,8有两个。如果要删除8这个元素的话,可以有用两种方法解决。一.调用vector容器的erase函数删除#include<iostream>#include<vector>#include<algorithm>#include<iterator>using namespace std;int main() { int a[] = { 8,7,8,9,6,
2020-05-31 17:48:16 1110
原创 C++ list 解决约瑟夫问题
约瑟夫问题所述:猴子选王有n只猴子,按顺时针方向围成一圈选大王(编号为1-n),从第一号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数,就这样,直到圈中只剩下一只猴子时,这个猴子就是猴王。编程输入n,m后,输出最后猴王的编号。输入样例: 6 212 48 30 0输出样例:517简述要点:1.循环的条件是只要还有不止一只猴子,就让其出列,直到最后只剩下...
2020-05-01 22:46:55 1199
原创 浙大数据结构PTA 习题3.9堆栈操作合法性
浙大数据结构PTA 习题3.9堆栈操作合法性假设以S和X分别表示入栈和出栈操作。如果根据一个仅由S和X构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序列是合法的堆栈操作序列。请编写程序,输入S和X序列,判断该序列是否合法。输入格式:输入第一行给出两个正整数N和M,其中N是待测序列的个数,M(≤50)是堆栈的最大容量。随后N行,每行中给出一个...
2020-04-25 19:08:42 2439
原创 C++排序二分查找
简单来说就是输入一个数组,注意是无序的,因为二分查找只能查找有序的,所以在给数组赋值之后,对数组进行排序。排序的方法有很多,在此我写的是冒泡排序,排序之后是降序的。其中bubblesort(int array[],int length),length代表数组长度,int array[]可以替换成int * array ,没有影响。对于降序,C++sort函数有着很好的应用。 在此给出链接,这...
2020-04-20 13:04:51 1045
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人