![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
爱憎分明丶
汇编,Vue,python,sql,Django,c,c ,java,ThinkPHP,php,solr,hadoop,小程序,公用号。
展开
-
Floyd算法求最短路径
Floyd算法●Floyd算法用来解决全源最短路径问题,即对给定的图G(V,E),求任意两点u,v之间的最短路径长度。●Floyd算法基于这样一个事实:如果存在顶点k,使得以k作为中介点时顶点i和顶点j的当前最短距离缩短,则使用顶点k作为顶点i和顶点j的中介点,即当dis[i][k]+dis[k][j]<dis[i][j]时,令dis[i][j]=dis[i][k]+dis[k][j] (其中dis[i][j]表示从顶点i到顶点j的最短距离)。图:运算结果 :代码 ..原创 2020-11-03 13:25:35 · 2988 阅读 · 1 评论 -
dijkstra算法 单源最短路径
Dijkstra算法●给定图G和起点s,通过算法得到S到达其他每个顶点的最短距离。●基本思想: 对图G(V,E)设置集合S,存放已被访问的顶点,然后每次从集合V中选择与起点s的最短距离最小的一个顶点(记为U),访问并加入集合S。之后,另顶点U为中介点,优化起点S与所有从U能到达的顶点V之间的最短距离(就是找到与U相连的顶点K,通过dis[U]计算出他们与顶点的距离dis[K])。这样的操作执行n次(n为顶点个数),直到集合S已包含所有顶点#include<iostream...原创 2020-11-03 09:35:58 · 303 阅读 · 0 评论 -
二分染色问题
给定一个具有n个顶点的图。要给图上每个顶点染色,并且要使相邻的顶点颜色不同,是否能最多用2种颜色进行染色?输入格式:输入第一行是两个正整数v和n,v是图中顶点数,n是图中边数。随后的n行,每行有两个正整数,分别是边的两个顶点编号。输出格式:输出“Yes”或“No”输入样例:在这里给出一组输入。例如:3 30 10 21 2输出样例:在这里给出相应的输出。例如:No输入样例:在这里给出一组输入。例如:4 40 10 31 22 3原创 2020-11-03 00:05:15 · 313 阅读 · 0 评论 -
C++ 算法 微博转发问题\图\BFS
7-1微博转发(25分)在微博中,每个用户都可能被若干其他用户关注。而当该用户发布一条信息时,他的关注者就可以看到这条信息并选择是否转发它,且转发的信息也可以被转发者的关注者再次转发,但同一用户最多转发该信息一次(信息的最初发布者不能转发该信息)。现在给出N个用户的关注者情况(即他们各自关注了哪些用户)以及一个转发层数上限L,并给出最初发布消息的用户编号,求在转发层数上限内消息最多会被多少用户转发。输入格式:第一行包含两个正数:N(N≤100)是用户数量;L(L≤6)表示关注者的转发层数上限..原创 2020-11-02 21:30:23 · 423 阅读 · 0 评论 -
蓝桥杯训练-带分数
问题描述100 可以表示为带分数的形式:100 = 3 + 69258 / 714。还可以表示为:100 = 82 + 3546 / 197。注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。输入格式从标准输入读入一个正整数N (N<1000*1000)输出格式程序输出该数字用数码1~9不重复不...原创 2019-11-30 18:02:04 · 131 阅读 · 0 评论 -
重温排序算法 快速排序
前言:本文参考了百度百科,并且修改补充了部分内容,代码自己再实现了一遍,并且注释,简单易懂.概念:设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为基准数,然后将所有比它小的数都放到它左边,所有比它大的数都放到它右边,然后把基准数放在中间位置,再把数组分成两部分, 对两部分分别执行上述操作。值得注意的是,快速排序不是一种稳定的排序算法,也就是说...原创 2019-05-22 23:12:17 · 141 阅读 · 0 评论 -
C语言 详解DFS-深度优先搜索和其基本结构
最近学图的时候 ,遇到图的遍历看不懂了,发现需要用到DFS-深度优先搜索或者BFS-广度优先搜索,于是就翻了翻资料 顺便写个笔记和心得.我们以数的全排列为例子 , 输出前N个数的的全排列 (如果用枚举法会很简单 但是我只是用这种简单的问题引出DFS的写法)#include<iostream>using namespace std;void DFS(int step);i...原创 2019-05-12 21:27:27 · 5977 阅读 · 0 评论 -
重温排序算法 冒泡排序
冒泡排序算法的原理如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较 上代码:#include<iostream>...原创 2019-05-21 15:47:12 · 106 阅读 · 0 评论 -
C++ 语言二分法查找 递归和循环实现 带详细注释
#include<stdio.h>#include<iostream>using namespace std;//循环 int binarySearch(int* arr,int num,int length){ //数组 查询值 数组长度 int low=0,len=length;//初始化起点和终点 while(low<=len){//起点小于等...原创 2019-05-19 22:08:05 · 373 阅读 · 0 评论 -
C++ 广度优先搜索 BFS 解最短路径问题
#include<stdio.h>#include<iostream>#include<queue>//点位结构体; using namespace std;struct point { int x; int y; int step;};queue<point> que; //点位列队 int map[51][51],book...原创 2019-05-19 14:23:45 · 2900 阅读 · 2 评论 -
DFS 求最短路径 C++
假设 一张地图 N行M列 ,0表示通畅1表示障碍物,P,Q表示终点坐标.求点(0,0)到(P,Q)最短路径#include<iostream>#include<stdio.h>int minS=999999;//最小路程minS 防止和iostresm 里面的min命名冲突 int map[51][51]={0};//地图 int book[51][51]=...原创 2019-05-19 01:08:06 · 2392 阅读 · 0 评论