自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 图的m着色问题

问题图的m着色问题。给定无向连通图G和m种颜色,用这些颜色给图的顶点着色,每个顶点一种颜色。如果要求G的每条边的两个顶点着不同颜色。给出所有可能的着色方案;如果不存在,则回答“NO”。解析设计4.分析时间复杂度为O(nm^n)5.源码https://github.com/woshichunchongchong/Algorithm_hw/blob/main/%E5%9B%BE%E7%9A%84m%E7%9D%80%E8%89%B2%E9%97%AE%E9%A2%98.cpp..

2021-06-22 00:00:48 103

原创 最优前缀码

问题解析3.设计首先把所有的字符加入到优先队列,然后每次弹出两个结点,用这两个结点作为左右孩子,构造一个子树,子树的跟结点的权值为左右孩子的权值的和,然后将子树插入到优先队列,重复这个步骤,直到优先队列中只有一个结点为止,这个结点就是最终哈夫曼树的根结点。4.分析5.源码https://github.com/woshichunchongchong/Algorithm_hw/blob/main/%E6%9C%80%E4%BC%98%E5%89%8D%E7%BC%80%E7%..

2021-06-22 00:00:41 229

原创 0-1背包

问题已知有一个最多可以装质量W的背包,还有N件物品,第i件物品的质量是w[ i ],价值是v[ i ],每种物品尽可以放一件,可以选者放或者不放,而且不可以超过背包的最大承受的重量解析假设一个A机器,一个B机器,有n个任务(n>=2),处理每个任务需要的时间为ai,按任务顺序,当A机器用j时间和B机器共处理了k个任务(0<=j<=a的和,2<=k<=n),那么有一函数F(k,j)可求出此时B机器用的最少时间。当k=1,j<a[1]时,F(k,j)应为a[1..

2021-06-22 00:00:27 62

原创 LCS算法

问题给定两个序列X,Y,求这两个序列的最长公共子序列解析3.设计4.分析时间复杂度O(m*n) (两个字符串长度乘积)5.源码https://github.com/woshichunchongchong/Algorithm_hw/blob/main/LCS.cpp#include#include<string.h>#include#define MAX_SIZE 100using namespace std;int dp[MAX_SIZE][MAX_SIZ.

2021-06-21 23:32:34 86

原创 矩阵链乘法

问题设A1,A2…An为n个矩阵的序列,其中Ai为Pi-1×Pi阶矩阵,这个矩阵的输入用向量P=<P0,P1….Pn>给出;给定向量P,确定一种乘法次序,使得基本运算的总次数达到最小。解析动态规划m[1,3] = min{ m[1,1]+m[2,3]+A1(A2A3),m[1,2]+m[3,3]+(A1A2)A3}; s[1,3] = 1m[2,4] = min{m[2,2]+m[3,4]+A2(A3A4),m[2,3]+m[4,4]+(A2A3)A4}; s[2,4] =.

2021-06-21 23:30:56 77

原创 投资问题题

问题解析动态规划3.设计4.分析时间复杂度O(nm^2)5.源码https://github.com/woshichunchongchong/Algorithm_hw/blob/main/%E6%8A%95%E8%B5%84%E9%97%AE%E9%A2%98.cpp#include#include<string.h>#include#define MAX_SIZE 100using namespace std;int n,m;int dp[M.

2021-06-21 23:29:04 72

原创 第k小元素

问题在给定的n个数中找出第k小的数解析3.设计4.分析时间复杂度O(n)5.源码https://github.com/woshichunchongchong/Algorithm_hw/blob/main/%E7%AC%ACk%E5%B0%8F%E7%9A%84%E5%85%83%E7%B4%A0.cpp#include#include<string.h>#include#include#define MAX_SIZE 10000using namespace.

2021-06-21 23:26:30 65

原创 最近对问题

问题在含有n个点的平面p中找出最近的两个点的距离解析当点的个数小于等于2时,最短距离为两点间距离当点的个数大于2时,可将数组不断对半分,递归得出最短距离,此时,两个点在同一组内,当两个点分别在两个组内时,3.设计伪代码:nearest(){if n<=2返回蛮力法算出最小距离elseans=min(nearest(left,mid), nearest(mid+1,left));m=第mid-1个x坐标将所有y坐标中对应 x坐标到m小于ans的加进S数组中ans^2f.

2021-06-21 23:23:09 69

原创 二分归并排序

问题二分归并排序:对n个不同的数构成的数组A[1…n]进行排序,其中n=2^k解析采用分治法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。3.设计伪代码:void merge(int a[],int start,int mid,int end){left[mid-start+1];right[end-mid];for(i=start;i<=mid;++i){left[leftt++]=a[i];}for(i=mid+1;i<..

2021-06-21 23:16:10 118

原创 两种检索算法

1.问题写出两种检索算法:在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0.按实验模板编写,“分析”部分仅给出复杂度结果即可。2.解析顺序查找按照序列原有顺序对数组进行遍历比较查询。二分查找将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存

2021-06-21 23:13:05 98

原创 Dijkstra

问题对于下图使用Dijkstra算法求由顶点a到顶点h的最短路径,按实验报告模板编写算法。解析以a为起点,设dis[i],表示从a到第i个点的最短距离。找出一个未被标记的,dis[i]最小的节点i,然后标记节点i。扫描节点i的所有出边(i,j,k),若d[j]>d[i]+k,则使用d[i]+k,更新d[j]。重复直到所有节点都被标记,dis[n-1]即a到h的最短距离。设计伪代码:void Dijkstra( ) {for (i = 0; i <顶点个数; i+..

2021-06-21 23:11:23 52

原创 Floyd

问题用Floyd算法求解下图各个顶点的最短距离。写出Floyd算法的伪代码和给出距离矩阵(顶点之间的最短距离矩阵),按实验报告模板编写算法。解析任意节点i到任意节点j的距离可能是:i到j的直接距离;i经过k1、k2···kn后到j的距离;若distance[i][j]>distance[i][k]+distance[k][j],则更新distance [i][j]的值为distance [i][k]+ distance [k][j];三层循环,k层表示以k点为中间点,i层和j层表示以i..

2021-06-21 23:09:35 107

原创 Kruskal

问题举一个实例,画出采用Kruskal算法构造最小生成树的过程解析已知图V = {…} 我们构造一棵最小生成树T第一步:随意选取起点第二步:将所有边按权值从小到大的顺序排序第三步:按顺序遍历每条边(不能构成回路),直到所有节点都被遍历。原图:第一步第二步第三步第四步第五步第六步设计伪代码:for (int i = 0; i < m; i++){if (e[i].u和e[i].v不在同一连通分量){把边e[i]加入MST合并e[i].u和e[i].

2021-06-21 23:07:23 92

原创 Prim算法

问题举一个实例,画出采用Prim算法构造最小生成树的过程解析已知图V = {…} 我们构造一棵最小生成树T第一步:随意选取起点第二步:在前一步的基础上寻找最小权值第三步:继续寻找最小权值,之后以此类推,直到遍历完所有的节点。原图:第一步第二步第三步第四步第五步第六步第七步设计伪代码:while(访问过点的列表长度<图中点的个数){ for(i=0;i<访问过点的列表长度;++i){ for(j=0;j<图中点的个数){ .

2021-06-19 00:19:10 103

原创 Java抽象类和接口

抽象类特点1.不能new抽象类,只能靠子类实现。‘Action’ is abstract; cannot be instantiated2.抽象类中可以有普通方法,抽象方法必须在抽象类中。3.抽象类存在构造方法,一般用于子类继承这个抽象类。4.方便管理代码。关键字 abstracte.g. public abstract class Action抽象方法public abstract class Action { //abstract方法只有名字,没有实现 public abstra

2020-12-27 21:59:34 263 3

原创 Java封装、继承和多态

封装通常应禁止直接访问对象中数据的实际表示,而应通过操作接口来访问,这被称为信息隐藏。对外公开接口隐藏属性。关键字private //私有成员,外部无法访问例如在student类中,外界可通过get、set方法来访问、修改变量,而不能直接访问和修改。在Eclipse中,选中变量名,按下ctrl+1可快捷生成set、get方法public class Student { private String name; private int id; private String sex; p

2020-12-27 15:28:59 167

原创 大学计算机基础知识点

快考试了,总结一下不太熟练的知识点Excel篇1.将B1单元格内时间四舍五入到最接近的X分钟的倍数=mround(b1,X/1440)2.使用REPLACE函数,对"学号"进行修改。要求:将"学号"中的2013修改为2010;将修改后的学号填入表中的"修改后的学号"列中。=replace(A1,1,4,“2010”)replace(要修改数值的位置,从第几个位置开始修改,修改位数,修改内容(要用双引号括起来))...

2020-12-25 14:16:14 2246 1

原创 Java实现正则表达式

正则表达式(regular expression, 简写为regex)是一个字符串,用来描述匹配一个字符串集合的模式。可以使用正则表达式来匹配、替换和拆分字符串。匹配字符串在String类中有一matches方法,用来判断字符串是否与正则表达式匹配。"Java".matches("Java");"Java".matches("Java.*");这两条语句结果都为true。其中第二句中"Java.*"是一个正则表达式,它描述 了一个字符串模式,表示从"Java"后面跟着0或多个字符串。正则表达式

2020-12-09 21:46:30 1568

原创 下载、安装Eclipse并配置Git,运行第一个程序“Hello World”

下载、安装Eclipse并配置Git,运行第一个程序“Hello World”第一步:从官网下载Eclipse安装包第x步:配置Git第x步:新建Package,Class后写入“Hello World”程序并运行

2020-12-01 17:32:19 117 2

原创 2的n次幂(2^1到2^128)

2的n次幂(1到128)学习计组总是要用到2的n次幂,就用python写了个表。2 ^ 1 = 22 ^ 2 = 42 ^ 3 = 82 ^ 4 = 162 ^ 5 = 322 ^ 6 = 642 ^ 7 = 1282 ^ 8 = 2562 ^ 9 = 5122 ^ 10 = 10242 ^ 11 = 20482 ^ 12 = 40962 ^ 13 = 81922 ^ 14 = 163842 ^ 15 = 327682 ^ 16 = 655362 ^ 17 = 13107

2020-11-26 20:13:05 1073 1

空空如也

空空如也

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

TA关注的人

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