算法
ertcmmy
这个作者很懒,什么都没留下…
展开
-
各种查找算法
二分查找int binary_search(int a[], int len, int key){ int l = 0, h = len - 1; int m; while(l <= h){ m = (l + h) / 2; if(a[m] == key) return m; else if(a[m] < key) l = m + 1; else...原创 2018-11-13 17:21:51 · 112 阅读 · 0 评论 -
最小生成树Prim和Kruskal
Kruskalint n, m; // 顶点和边数int u[100], v[100], w[100]; // 边顶点和权重int r[100]; // 边权重从小到大的下标int pa[100]; // 并查集所用void read(){ cin >> n >> m; for(int i = 0; i < m; i++){ int x, y,...原创 2019-07-21 16:11:11 · 80 阅读 · 0 评论 -
Floyd-Warshall算法
int n, m; // 顶点数和边数int d[100][100]; // 边(i,j)的权重void read_and_init(){ cin >> n >> m; // 初始化d for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ d[i][j] = INF; } ...原创 2019-07-21 15:50:32 · 135 阅读 · 0 评论 -
Bellman-Ford算法
普通int n, m; // 节点和边数int d[100]; // 最短距离int u[100], v[100], w[100]; // idx为边void read(){ cin >> n >> m; for(int e = 0; e < m; e++){ cin >> u[e] >> v[e] >> w[...原创 2019-07-21 15:06:18 · 102 阅读 · 0 评论 -
单元最短路径-Dijkstra算法
普通方法const int INF = 10000;const int MAX_V = 100;int cost[MAX_V][MAX_V]; // 花费int d[MAX_V]; // 起始顶点到所有顶点最短距离bool S[MAX_V]; // 是否在集合中int V = 7; // 顶点数// 传入的是起始顶点void dijkstra(int s){ fill(d, ...原创 2019-05-31 11:22:54 · 514 阅读 · 0 评论 -
哈希表
#define MAX_HASH_SIZE 10 // 按需调整struct Node{ int data; Node *next;};struct HashTable{ Node *head[MAX_HASH_SIZE];};void init_hash_table(HashTable &ht){ memset(&ht, 0, sizeof(ht)); ...原创 2019-05-31 11:20:17 · 376 阅读 · 0 评论 -
各种排序算法
快速排序void quick_sort(int a[], int l, int h){ if(l >= h) return; int i = l, j = h; int tmp = a[l]; while(i < j){ while(i < j && a[j] >= tmp) // 若和以下写a[j] > tmp和a[i] ...原创 2018-11-13 15:50:54 · 173 阅读 · 0 评论 -
求集合交、并、差集
目录交集函数主函数调用并集函数主函数调用差集函数主函数调用交集 函数 int intersection(int a[], int len1, int b[], int len2, int c[]){ quick_sort(a, 0, len1 - 1); // 首先快速排序 quick_sort(b, 0, len2 - 1...原创 2018-11-13 17:06:13 · 991 阅读 · 1 评论 -
最大流 和 最小花费最大流
最大流int n, m; // 顶点和边数int flow[100][100], cap[100][100]; // 流量和容量int p[100]; // 上一个节点int a[100]; // 从s到此节点最小残量void read(){ cin >> n >> m; for(int i = 0; i < m; i++){ int x, y...原创 2019-07-21 18:57:40 · 238 阅读 · 0 评论