- 博客(23)
- 收藏
- 关注
原创 构建贝叶斯网络——K2算法(Python实现)
K2算法伪代码如下:主要思想是贪婪思想,这样也可以保证每次插入的边不构成环。from factor import factimport mathimport randomFile = open('C:\\Users\\lenovo\Desktop\\网络科学导论cpp代码\\时序网络数据集\\email-Eu-core-temporal-Dept3.txt', 'r')lineList = File.readlines()print(len(lineList))#该数据文件共有12.
2020-06-08 16:26:10 5085 8
原创 BGLL算法 C++实现
实际上,BGLL算法就是在CNM算法的基础之上,再进一步,通过将CNM算法的结果中处于同一个社团的节点看作一个节点,再使用CNM算法进行社团划分,照此步骤反复迭代,每一次迭代记作一个pass,直到无法继续划分为止(就是在节点合并后,Q也不再增加)。从而尽量减轻因CNM算法的贪心策略造成的社团划分效果不佳,CNM算法实现可参考前文《CNM算法C++实现》下文示例数据下载链接:facebook_c...
2020-01-08 12:11:10 963 5
原创 幂法求矩阵最大特征值及其对应的特征向量 C++实现
#include<iostream>#include<cstring>#include<algorithm>#include<math.h>#define N 1100using namespace std;int n,flag;float m,next_m,eclipse,sum,A[N][N],z[N],y[N],next_z[N...
2020-01-08 11:52:40 3863
原创 CNM算法C++实现
博主第一次写社团划分的算法,原本CNM算法应该是通过维护一个大根堆来实现的,因为对这个算法还没那么熟,所以用的普通方法和邻接矩阵来实现的。不过不管怎么说,算法的基于贪婪策略,根据模块度划分社团的核心思想一定是不变的。公式的话,应该已经有不少文章介绍,大家可以参考,我就只贴代码了。#include<iostream>#include<cstring>#define ...
2020-01-06 15:08:28 3442
原创 欧拉回路的存在性定理证明
https://max.book118.com/html/2019/0221/6210243134002011.shtm
2019-09-25 22:00:00 724
原创 记录自己在UVa上犯的常见错误(会耽误大量时间)
第一点,UVa上题目大多有多组测试样例同时输入,所以每次读取数据时一定要更新变量初值(尤其是那种sum的变量),这种错误不易发现(WA的话一般认为自己程序写错了,实际上可能是这种错误),会耽误大量时间。...
2019-09-13 10:45:18 431
原创 最小费用最大流(Bellman-Ford)C++实现
#include <iostream>#include <queue>#include <vector>#include <algorithm>using namespace std;#define N 1010typedef struct edge{ int from; int to; int cap; int flow;...
2019-09-12 20:00:53 888
原创 UVa1592 Database
为每个字符串标号(利用vector和map实现string->int的转换),然后再遍历之。#include <iostream>#include <map>#include <string>#include<utility>#include <vector>#include <set>using na...
2019-09-07 18:18:08 206
原创 C++实现精确覆盖(dlx)。
参考自https://www.cnblogs.com/Rhein-E/p/8969773.html#include <iostream>using namespace std;#define N 1010typedef struct node{ int data; struct node *left; struct node *right; struct node...
2019-08-28 19:26:48 509
原创 FBI树(先递归构建二叉树,再后序遍历之)
#include <iostream>#include <algorithm>#include <math.h>using namespace std;#define N 1200char arrr[N];int arr[N];typedef struct S{ char type; S *lchild; S *rchild;}tree...
2019-08-15 23:22:42 281
原创 【NOIP2012普及】质因数分解
唯一分解定理的应用。#include <iostream>using namespace std;int main(){ long int n; int i; cin >> n; for (i = 2; i*i <= n; i++) if (n%i == 0) break; cout << n / i << en...
2019-08-14 22:45:23 270
原创 ∑sin(nx)/n的值的计算。
在参考《吉米多维奇4》的基础之上,最近终于解决了一直困扰自己的一个问题——下面级数的值如何计算,现在将方法分享给大家,若有纰漏之处,望大家批评指正。首先,该级数是条件收敛的。证明的话,分两步:一、该级数是收敛的,证明如下:(用Dirichlet判别法)运用三角函数的积化和差公式,得经过化简(上式等式右边相邻两项抵消),得(0<x<pi)也就是说...
2019-08-12 23:22:12 21029 10
原创 C++无向图判断是否存在回路。(并查集的思想)
参考王红梅、胡明、王涛编著的《数据结构(C++版)》中的思想,采用并查集判断无向图是否存在回路。//无向图判断是否有环路。#include <iostream>using namespace std;#define N 1000typedef struct edge{ int from; int to; int weight;};edge A[N];int...
2019-08-11 09:25:03 1752
原创 C++实现Floyd算法(路径+长度)
Floyd多源最短路,时间复杂度为O(n^3)。#include <iostream>#include <string>#include <stack>using namespace std;#define N 1000int dist[N][N];int A[N][N];int path[N][N];stack<int> Q...
2019-08-08 20:15:22 835
原创 C++实现Bellman-Ford算法(长度+路径)
Bellman-Ford算法适用于不含负环路的图,比Dijkstra适用范围广。但是时间复杂度为O(n^3)。#include <iostream>#include <math.h>#include <stack>using namespace std;#define N = 1000stack<int> Q;int path[N...
2019-08-08 20:06:56 733
原创 C++实现Dijkstra算法(长度+路径)
Dijkstra只适用于非负权图(因为每循环一步就直接把未标号点集中路径最短的点标号,这样的话如果有负权图,是完全可能在下一步循环中使这条路径变短的),路径的话可以在循环中记录每个结点的前驱结点,最后用栈输出出来。#include <iostream>#include <stack>using namespace std;#define N 1000int ...
2019-08-08 20:01:39 572
原创 temple of the bone(dfs)
#include <iostream>#include <queue>using namespace std;#define N 7bool mark[N][N];char maze[N][N];int go[4][2] ={ -1,0, 1,0, 0,-1, 0,1,};int n, m, T, sx, sy, dx, dy, t;int f...
2019-02-11 21:50:06 208
原创 Oil Deposits(bfs)C++实现
#include <iostream>#include <queue>using namespace std;#define N 101int go[8][2] ={ -1,-1, -1,0, -1,1, 0,-1, 0,1, 1,-1, 1,0, 1,1,};struct E{ int x, y;};queue<E> Q...
2019-02-11 21:16:59 526
原创 Jacobi迭代,G-S迭代和超松弛迭代法解线性方程组(C语言)
Jacobi迭代,G-S迭代在注释中,当前为超松弛迭代法。#include <stdio.h>#include <stdlib.h>#define N 105float A[N][N];float b[N];int DT=0;float two_norm(float x[],float y[],int n);float one_norm(float x[...
2018-11-21 21:33:13 4319 1
原创 C语言实现矩阵QR分解(利用householder变换)
不多说,直接上代码。#include <stdio.h>#include <stdlib.h>#include <math.h>#define N 100struct vec{ float v[N]; float beta;};//struct vec save;float A[N][N];struct vec house(float...
2018-11-16 11:57:50 7363 4
原创 C语言实现householder变换(数值计算方法课程设计)
博主系某985信息与计算科学大三,刚调试成功,分享给正在学习数值计算的伙伴们,有问题还请大家批评指正。 #include <stdio.h>#include <stdlib.h>#include <math.h>#define N 100struct vec{ float v[N]; float beta;};//struct vec s...
2018-11-11 10:08:23 2600 1
原创 数据读取入门——xlsread
近期忙于准备9月14日至9月17日的高教社杯数学建模竞赛,由于本人主要负责建模和算法工作,因此每天抽出一定时间和精力放到MATLAB上。不过今天并不顺利,仅仅在一个Excel表格的读取上就犯了难,字符型和数值型完全蒙圈,还好,最终攻克了这个小难题,本文也算是分享我对xlsread函数的一点心得。 1.只含数值型变量的Excel表格 这个两种方法:粘贴或xlsread函数调用。粘
2017-08-31 17:41:41 34676 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人