- 博客(18)
- 资源 (12)
- 收藏
- 关注
原创 拓扑排序
文章目录(一) 拓扑排序1.1 邻接矩阵+循环 实现拓扑排序1.2 邻接矩阵+队列 实现拓扑排序1.3 邻接表+队列 实现拓扑排序(难点)(一) 拓扑排序【概念】:什么是拓扑排序?拓扑排序是将一个有向无环图(Directed Acyclic Graph简称DAG)进行排序得到的一个有序的点序列。就是一种先后顺序。例如:图中A有从指向B的边,则在拓扑序中,A出现在B之前。注意:只有...
2019-05-31 19:51:25 2098
原创 最短路径之SPFA算法(邻接矩阵+邻接表)
文章目录(一)SPFA算法1.1 邻接矩阵存图1.1.1 核心算法1.2 邻接表存图(一)SPFA算法【前言】:上一篇的Bellman_ford算法就可以解决求图中含有负权边时的最短路径,但我们可以看到Bellman_ford算法是一个三重循环,如果数据量大的话,它的效率非常低(当然,本来效率就低)。而SPFA算法就是对Bellman_ford算法的一个优化。SPFA算法的全称是:Shorte...
2019-05-31 09:32:09 957
原创 最短路径之Bellman_ford算法(结构体存图)
#include<iostream>using namespace std;#define N 1000#define INF 0x3f3f3f3fint dis[N];struct node{ int a; int b; int v;}mp[N];bool Bellman_ford(int n){ int i, j, k; for (i = 1; i &l...
2019-05-29 19:21:05 283 1
原创 最短路径之Bellman_ford算法(邻接矩阵存图)
文章目录(一)Bellman_ford算法1.1 用邻接矩阵存图,并初始化1.2 初始化dis距离数组1.3 遍历所有结点,进行松弛操作1.4 检测是否含有负权回路(一)Bellman_ford算法【知识储备】:负权回路:在一个图里每条边都有一个权值(有正有负),如果存在一个环(从某个点出发又回到自己的路径),而且这个环上所有权值之和是负数,那这就是一个负权环,也叫负权回路。(好像也分有向图...
2019-05-29 18:14:24 1171
原创 最短路径之Flody算法(邻接矩阵存图)
文章目录(一) Flody算法(一) Flody算法【前言】:前面的Dijkstra算法用来解决单源最短路径的问题,即:从指定点到图上其他各点的最短路径。那么,如果我们要求图中任意两个结点之间的最短路径,如何用算法来实现呢?如果用Dijkstra来实现,就需要每次改变源点,再使用多个dis数组来记录,这样,问题就会变得很复杂。那么,有没有一种简单的算法来求图中任意两个结点之间的最短路径呢?当然...
2019-05-25 21:09:22 1336 1
原创 最小生成树之Prime算法(临接表+优先队列实现)
#include <iostream>#include <cstdio>#include <vector>#include <queue>#include<cstring>using namespace std;const int maxn = 105;const int inf = 0x3f3f3f3f;struct ...
2019-05-22 22:19:52 2733
原创 最短路径之Dijkstra算法(邻接矩阵实现)
文章目录(一)Dijkstra算法(一)Dijkstra算法单源最短路径:是从某一个顶点出发,到图中任意顶点之间的最短路径;【算法概述】:Dijkstra算法适用于解决单源最短路径的问题。但Dijkstra算法要求所有边的权值非负。看过Prime算法的同学都知道,Dijkstra算法与Prime算法很相似,不同的就是dis数组的更新方式。Dijkstra算法用邻接矩阵存图比较方便。#inc...
2019-05-21 20:48:27 8839 5
原创 最小生成树之Kruskal算法(优先队列实现)
文章目录(一) Kruskal算法(优先队列实现)(一) Kruskal算法(优先队列实现)由上一篇知道,Kruskal算法是对边的权值进行从小到大的排序,然后运用“加边法”实现;上一篇对边的权值进行排序的时候是用结构体自定义排序实现,当然,我们也可以用优先队列实现;【算法概述】:存图时依然用结构体,和上一篇基本差不多,只是在对边的权值排序的时候用到了优先队列(优先队列)的自定义排序。注:...
2019-05-21 17:00:06 1215
原创 最小生成树之kruskal算法(结构体实现)
文章目录(一)Kuskal算法1.1 存图方式1.2 并查集思想(重点)1.3 Kuskal算法主体(一)Kuskal算法【算法简介】:上一篇中的Prime算法是一种“加点式的算法”,而Kuskal算法是一种“加边式的算法”;Kuskal算法与Prime算法都是一种贪心算法,但Kruskal算法对图中存在相同权值的边时也有效。【算法思想】:算法对权值从小到大排序,每次选取当前权值最小的边加入...
2019-05-21 00:01:10 1304
原创 最小生成树之prime算法(邻接矩阵实现)
文章目录(一)prime算法1.1 使用邻接矩阵存图(一)prime算法1.1 使用邻接矩阵存图#include<iostream>#include<cstring>using namespace std;#define N 1000#define INF 0x3f3f3f3fint mp[N][N]; //使用邻接矩阵存图;int dis[N]; ...
2019-05-19 00:11:50 5071 3
原创 二叉树学习笔记2
(一)二叉搜索树(BST)上一篇中的二叉树是用直接赋值创建的,数据量很小,一但数据量变大,那个方法肯定不适用。所以,为了高效的创建一个二叉树,就有了插入法创建二叉树;二叉搜索树(BST):Binary Search Tree的首字母大写构成。【特点】:它是一个特殊的二叉树,树中的结点必须满足:根节点的值大于左子树的值且小于右子树的值。即:根>左,根<右。#include<...
2019-05-14 19:10:54 257
原创 二叉树学习笔记1
(1)树基本概念:1.【根节点】:根节点是一个没有双亲结点的结点,一课树最多只能有一个根节点;2.【结点】:树上面的所有数据都是结点,但结点不只包括数据,还包含指向子树的分支(地址);3.【结点的度】:结点拥有子树或分支的个数;4.【树的度】:树中各结点的最大值;5.【结点的层数】:根结点的层数为0,其他结点的层数等于其父结点的层数加1;6.【树的深度】:树中所有结点层数的最大值;...
2019-05-14 16:12:52 225
原创 有多少个9
问题:输入一个数N,输出1–N中9的个数;Input一个整数Noutput输出一个整数表示1—N中9的个数Sample Input100Sample output20#include<iostream>using namespace std;int main(){ int n; int a; int i,j=0,k; int num...
2019-05-12 16:59:20 171
原创 字符串矩阵
问题:将一个字符串循环输出成矩阵:样例1:输入:ABCD输出:ABCDBCDACDABDABC样例2:输入:NUCACM输出:NUCACMUCACMNCACMNUACMNUCCMNUCAMNUCAC#include<iostream>#include<string.h>using namespace std;int...
2019-05-12 16:52:52 1828
原创 堆栈,队列,优先队列
文章目录1.堆栈 stack2.队列 queue3.优先队列 priority_queue1.堆栈 stack先进后出#include<iostream>#include<stack> //堆栈using namespace std;int main(){ stack<int> s; s.push(1); s.push(2); s...
2019-05-11 11:43:11 1203
原创 Python编程环境搭建
文章目录(一)Python编程环境搭建1.1 安装Python1.2 在终端会话中运行Python1.3 安装文本编辑器1.4 在文本编辑器中运行Hello World程序1.5 在终端运行刚才编写的Hello World程序(一)Python编程环境搭建1.1 安装PythonWindows系统并非都安装了Python;因此,首先坚持你的系统中有没有安装Python。按先win键和R,并...
2019-05-09 21:42:51 308
原创 c语言指针笔记
文章目录(一)指针1.1 什么是指针1.2 指针变量1.2.1 【如何定义一个指针变量】1.2.2 【如何引用一个指针变量】1.3 指针作函数参数(一)指针指针是C语言中的一个重要概念,也是C语言的一个重要特色。正确而灵活的使用指针,可以使程序简洁,紧凑,高效。可以说,指针就是C语言的精华。指针的概念比较复杂,使用也比较灵活,因此初学时常常会出错,仔细,比较,思考,练习是学习指针的关键。1....
2019-05-09 00:48:13 467
原创 乘法口诀表
(一)输出乘法口诀表利用双重for循环实现;外层循环控制行,内层循环控制列;#include<stdio.h>int main(){ int i, j, k; for (i = 1; i <= 9; i++) { for (j = 1; j <= i; j++) { int num = i*j; printf("%d*%d=", j...
2019-05-07 10:26:28 482
SSM三大框架整合项目学习
2020-12-03
老杜jsp学习笔记.zip
2020-06-09
java笔记.zip
2020-06-09
老杜Servlet笔记.zip
2020-06-09
ECMAScript,简称ES6.zip
2020-03-29
HTML_CSS.zip
2020-03-29
JavaScript.zip
2020-03-29
php_xdebug-2.9.2-7.4-vc15-x86_64.zip
2020-03-10
xampp-windows-x64-7.4.3-0-VC15-installer.zip
2020-03-09
哈夫曼编码器.zip
2020-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人