自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 用邻接表表示图的BFS,DFS遍历

BFS#include <stdio.h>#include<stdlib.h>#define MaxVertexNum 10 /* 最大顶点数设为10 */typedef int Vertex; /* 用顶点下标表示顶点,为整型 *//* 邻接点的定义 */typedef struct AdjVNode *PtrToAdjVNode; struct AdjVNode{ Vertex AdjV; /* 邻接点下标 */ Pt

2022-03-19 14:54:18 906

原创 习题2.7 弹球距离

题目设有一个球从高度为h米的地方落下,碰到地面后又弹到高度为原来p倍的位置,然后又落下,再弹起,再落下…。请编写函数求初始高度为h的球下落后到基本停下来(高度小于给定阈值TOL)时在空中所经过的路程总和。代码#include <stdio.h>#include <stdlib.h>#define TOL 1E-3double dist( double h, double p );int main(){ double h, p, d; scanf("

2022-03-18 14:43:21 1145

原创 习题2.6 递归求简单交错幂级数的部分和

题目本题要求实现一个函数,计算下列简单交错幂级数的部分和:f(x,n)=x−x 2 +x 3 −x 4 +⋯+(−1) n−1 x n代码#include<stdio.h>#include<stdlib.h>#include<math.h>double fn(double x,int n);void main(){ int n; double x; scanf("%lf %d",&x,&n); printf("%.2lf",fn(x

2022-03-18 14:07:19 1226

原创 基础实验6-2.5 城市间紧急救援

题目作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。思路此题目思路与以往的Dijkstra的题目有不同,参考了网上的写法之后,才写出了此题,一些有坑的地方已经,单独注释了。代码/*此题坑很多,虽然用到了Dijkstra算法但是,第一次循环到赋值是无效的,为

2022-03-17 13:53:46 935

原创 习题8.1 银行排队问题之单队列多窗口服务

题目假设银行有K个窗口提供服务,窗口前设一条黄线,所有顾客按到达时间在黄线后排成一条长龙。当有窗口空闲时,下一位顾客即去该窗口处理事务。当有多个窗口可选择时,假设顾客总是选择编号最小的窗口。本题要求输出前来等待服务的N位顾客的平均等待时间、最长等待时间、最后完成时间,并且统计每个窗口服务了多少名顾客。思路具体实现思路,模仿了操作系统中的进程调度占用cpu的状态分析。注意完成时间,最后完成时间,一定是最后window数组中最长的那个。代码#include<stdio.h>#inclu

2022-03-16 11:46:42 794

原创 习题4.5 顺序存储的二叉树的最近的公共祖先问题

题目设顺序存储的二叉树中有编号为i和j的两个结点,请设计算法求出它们最近的公共祖先结点的编号和值。代码#include<stdio.h>#include<stdlib.h>#define N 1001int findConAncestor(int x,int y);int data[N];int n;void main(){ int i,x,y,k; scanf("%d",&n); for(i=0;i<=n;i++)//置空 data[i]=

2022-03-15 14:44:51 1220

原创 练习4.3 堆中的路径

题目将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。思路此题主要考察使用插入的方式建立小根堆,堆得插入主要是要循环与其父节点进行比较。代码void insert(int x);void Print(int x);int data[N],index=0;int n,m;void main(){ int i,x; scanf("%d %d",&n,&m); for(i=0;i<n;i++){ scanf("%

2022-03-15 14:19:44 1449

原创 习题3.11 表达式转换

题目算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。思路*(由于没有找到好的表示(、)、-、、+、/的方法,所以用了if else分析了所有情况) *具体实现,从左到右扫描字符串,是数字直接输出,若是字符则要考虑进入堆栈暂存,进入堆栈之前首先要考虑当前栈顶元素的优先级若有先及比将要入栈的元素高则将栈顶元素pop出来然后循环比较,直至栈空或者栈顶元素为优先级比当前要插入元素优先级低的情况

2022-03-14 18:49:41 1795

原创 习题3.9 堆栈操作合法性

题目假设以S和X分别表示入栈和出栈操作。如果根据一个仅由S和X构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序列是合法的堆栈操作序列。请编写程序,输入S和X序列,判断该序列是否合法。代码#include<stdio.h>#include<stdlib.h>#define N 100int n,m;char data[N][N];void main(){ int i,j,top,k,empty; scanf("%d

2022-03-14 14:45:08 245

原创 习题3.4 最长连续递增子序列

题目给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。思路循环遍历数组中从每一个位置开始的递增数列的长度然后存入数组,最后检索lenght数组求出最大长度的起始位置,后从此位置开始遍历,lenght[i]就是你要遍历数组的长度。优化思路:见代码注解。代码#include<stdio.h>#include<stdlib.h>#define N 100voi

2022-03-14 12:00:02 1795

原创 习题3.6 一元多项式的乘法与加法运算

题目设计函数分别求两个一元多项式的乘积与和。思路数学公式基本思路了,运用循环该怎么算怎么算了。代码#include<stdio.h>#include<stdlib.h>#define N 1000typedef struct pramary{ int data; int exp;}element;void Add(element group1[N],element group2[N]);void Multiple(element g1[N],element

2022-03-14 10:14:35 506

原创 习题2.8 输出全排列

题目请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间。思路回溯算法,回溯算法主要就是适用于暴力破解,在时间足够的情况下运用递归穷举。代码#include<stdio.h>#include<stdlib.h>#define N 10void BackTracking(int start,int index);void Print();int n;int pr[N],visit[N];void

2022-03-14 10:08:45 1468

原创 进阶实验4-3.3 完全二叉搜索树

题目一个无重复的非负整数序列,必定对应唯一的一棵形状为完全二叉树的二叉搜索树。本题就要求你输出这棵树的层序遍历序列。代码法一#include<stdio.h>#include<stdlib.h>#include<math.h>#define N 100void CreatCompleteTree(int left,int right,int root);int findLeftLenght(int lenght);void sort();int da

2022-03-13 16:51:14 2656 3

原创 基础实验4-2.8 部落

题目在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。思路本题应该说是典型的并查集的题目,用并查集很容易解决。代码#include<stdio.h>#include<stdlib.h>#define N 100int find(int x);void unio(int x,int y);int n,m,k

2022-03-11 15:16:04 298

原创 基础实验4-2.7 修理牧场

题目农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L i​ 个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是L i的总和。但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯成12和8;第二次锯木头花费12,将长度为12的木头锯成7和5,总花费为32。如果第一次将木头锯成15和5,则第二次锯木头花费15,总花费为35(

2022-03-11 14:35:36 2036

原创 基础实验4-2.2 列出叶结点

题目对于给定的二叉树,本题要求你按从上到下、从左到右的顺序输出其所有叶节点。代码#include<stdio.h>#include<stdlib.h>#define N 10typedef struct Tree{ int data; int lchild,rchild;}*BiTree;typedef struct queue{ int data[N]; int front,rear;}*Queue;int CreatTree(int n);Queue

2022-03-10 10:46:43 2049 2

原创 案例4-1.7 文件传输

题目当两台计算机双向连通的时候,文件是可以在两台机器间传输的。给定一套计算机网络,请你判断任意两台指定的计算机之间能否传输文件?代码#include<stdio.h>#include<stdlib.h>#define N 100int find(int x);void unio(int x,int y);int countLink();int fa[N],count[N];int n;void main(){ int i; char temp; int

2022-03-09 16:03:44 253

原创 案例4-1.6 树种统计

题目随着卫星成像技术的应用,自然资源研究机构可以识别每一棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。代码#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 100int isContant(char a[N],int x);void countTreeClass();int findMinindex();char string[N][N];i

2022-03-09 14:24:53 537

转载 基础实验3-2.5 堆栈模拟队列

题目设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数:int IsFull(Stack S):判断堆栈S是否已满,返回1或0;int IsEmpty (Stack S ):判断堆栈S是否为空,返回1或0;void Push(Stack S, ElementType item ):将元素item压入堆栈S;ElementType Pop(Stack S ):删除并返回S的栈顶元素。实现队列的操作,即入队void AddQ(Ele

2022-03-08 16:50:36 808

原创 基础实验2-2.4 装箱问题

题目假设有N项物品,大小分别为s 1​ 、s 2 、…、s i 、…、s N​ ,其中s i​ 为满1≤si​≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。代码#include<stdio.h>#include<stdlib.h>#define CaseN 1000#de

2022-03-07 14:50:04 182

原创 基础实验2-2.3 组合数的和

题目给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。代码/*此代码使用了递归,类似backTracking方法求组合由于此题比较简单,知识两个数的组合也可以使用双层for循环来解决*/#include<stdio.h>#include<stdlib.h>#define N 100void bac

2022-03-07 14:42:29 1522

原创 基础实验2-2.5 整数分解为若干项之和

题目将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,…。编程求出正整数N的所有整数分解式子。代码#include<stdio.h>#include<stdlib.h>#define N 100void Print();void find(int max,int start,int index);int x,a[N],cnt=0;void main(){ int i; for(i=0;i<N;i++)

2022-03-07 11:02:39 1536

原创 案例6-1.3 哥尼斯堡的“七桥问题”

题目可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707—1783)最终解决了这个问题,并由此创立了拓扑学。这个问题如今可以描述为判断欧拉回路是否存在的问题。欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个无向图,问是否存在欧拉回路?代码/* 本题代码用于解决,PTA上一题,哥尼斯堡"七桥"问题(寻找欧拉回路). 采用算法:并查集. 欧拉回路的计算方法(途中各个定点相互连通,且所有定点的度为偶数)*/#inc

2022-03-07 10:48:59 578

原创 基础实验2-2.2 求集合数据的均方差

题目设计函数求 N 个给定整数的均方差。若将 N 个数 A[ ] 的平均值记为 Avg,则均方差计算公式为: [(A 1​ −Avg) 2 +(A 2​ −Avg) 2 +⋯+(A N −Avg) 2 ]/N。代码#include<stdio.h>#include<stdlib.h>#include<math.h>#define MAXN 1000double Average(double a[],int n);void main(){ doubl

2022-03-06 19:25:45 2714

原创 进阶实验1-3.1 两个有序序列的中位数

题目已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A 0 ,A 1,⋯,A N−1 的中位数指A (N−1)/2 的值,即第⌊(N+1)/2⌋个数(A 0 为第1个数)。代码#include<stdio.h>#include<stdlib.h>#define MaxSize 10#define Maxsize 20void Merge(int a[],int b[],int k);void main(){ int a[Ma

2022-03-06 19:15:47 518

原创 SpringBoot【初始化配置方法】静态文件配置、内置Tomcat配置

springboot配置springboot版本号2.3.41、配置pom文件<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </de

2020-10-17 21:38:32 805

原创 【EL&JSTL】学习日记

(EL: expression language 顾名思义表达式语言 主要应用于像<%= %> 的使用,而且要更加方便快捷)1.主要应用形式EL 的使用主要是通过${}来执行输出的

2020-05-25 18:37:19 137

原创 【JDBC插件Durid&dbUtils】学习日记

进入正题之前先下载资源jar包commons-dbutils-1.7.jardruid-1.0.9.jarDurid应用使用durid技术可以避免链接繁琐的创建步骤,将java代码与数据库的连接变得更加简单。最重要的是:使用数据库连接池可以在获得连接后,并不是释放连接而是将它保存在一个连接池中,等待再次调用。这大大加快了java代码与数据库之间数据交互的速度(主要是减少了连接所浪费的时间)。使用方法也很简单:1.创建一个properties配置文件2.使用系统加载器配置文件3.使用数据池工

2020-05-16 18:42:28 192

原创 【Java多线程】学习日记

一、创建方式1. 实现runable接口步骤:1.创建类实现runable接口重写run方法2.建立类的实例对象3.将实例对象放在new thread中4.调用thread类中start方法调用run方法public class textrunable { public static void main(String[] args) { /* //创建实现类对象 B b=...

2020-05-01 10:21:37 132

原创 【JSP】学习日记

JSP对于此部分现在应用已经不是很多了所以简略介绍1. 属性部分1.language 属性 表示 jsp 翻译后是什么语言文件。暂时只支持 java。2.contentType 属性 表示 jsp 返回的数据类型是什么。也是源码中response.setContentType()参数值3. pageEncoding 属性 表示当前 jsp 页面文件本身的字符集。4. import 属性...

2020-04-22 10:04:38 167

原创 【JDBC】学习日记

简介需要的资源包主要是应用于数据库连接的辅助jar包mysql-connector-java-8.0.19druid-1.0.9创建连接基本步骤导入jar包(此处可以自行创建一个lib文件夹存放)注册驱动(此步大部分版本已经不需注册)建立数据库连接(通过drivermanager调用getconnection方法建立连接 注意:在此如果你的connector包是8.0.1...

2020-04-17 13:25:27 166

原创 【javaweb】自学日记oneday

大学生代码爱好者一枚,此日记单纯用于记录学习过程,并且方便日后的回顾1. HTML部分字体标签(color 设置字体颜色,face 设置字体,size 设置字体大小)<font color="blue" face="宋体" size="5">字体</font>标题标签(由1~6从大到小) <h1>标题1</h1> ...

2020-04-13 20:08:35 163

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除