数据结构与算法
文章平均质量分 59
-知是故人来-
这个作者很懒,什么都没留下…
展开
-
最短路径问题:PAT A1003 Emergency(Dijkstra、Bellman-Ford、SPFA三种方法)
方法一:Dijkstra //算法笔记P378 //考点:Dijkstra #include<bits/stdc++.h> using namespace std; const int MAXN=501; const int INF=1000000000; int n,m,st,ed,G[MAXN][MAXN],weight[MAXN]; int d[MAXN],w[MAXN],...原创 2020-04-04 17:55:28 · 296 阅读 · 4 评论 -
0/1背包问题(递归+记忆化搜索+dp三种方法)
–链接–转载 2020-03-31 16:21:04 · 616 阅读 · 0 评论 -
PAT A1030 Travel Plan (Dijkstra的两种运用方法)
《算法笔记》P385 考点:Dijkstra、DFS、递归 //方法一:Dijkstra ,pre数组记录最短路径 //c数组记录花费 #include<bits/stdc++.h> using namespace std; const int maxn=510; const int INF=1000000000; int n,m,st,ed; bool visit[maxn]={fa...原创 2020-03-28 23:47:20 · 149 阅读 · 0 评论 -
PAT A1034:Head of a Gang(DFS和并查集)
参考《算法笔记》P354 考点:并查集、连通图、DFS 题目地址 方法一:DFS #include<iostream> #include<map> #include<string> using namespace std; //最大人数 const int maxn=2010; //人与人之间的邻接矩阵 int G[maxn][maxn],weight[...原创 2020-03-22 00:01:56 · 150 阅读 · 0 评论 -
冒泡排序的两种写法(从左到右、从右到左)
以下冒泡排序执行后,小数在左,大数在右 ① 第一层控制循环遍数,第二层控制循环的起始点。第二层循环从左往右遍历,每次循环结束后无序的数据中的最大数移到最右边 for(int i=0;i<n;i++) cin>>a[i]; for(int i=0;i<n-1;i++){ for(int j=0;j<n-1-i;j++){ if(a[j]>a[j+1]){ ...原创 2020-03-10 22:54:29 · 1276 阅读 · 1 评论