![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
weixin_40799464
这个作者很懒,什么都没留下…
展开
-
最小生成树(prim算法)
#include<iostream> //最小生成树。 #include<cstring>using namespace std; int arr[303][303]; //链接矩阵。从一开始。 要想推导出路径来也是可以的。 int flag[303]; //用于标记在不在vnew中。...原创 2018-08-11 08:16:45 · 92 阅读 · 0 评论 -
二分法(递归非递归)
递归:#include <iostream> using namespace std;bool binary(int *arr,int low,int high,int flag,int &temp){ int middle; if(low>high) return false; middle=(low+high)...原创 2018-08-08 12:46:18 · 649 阅读 · 0 评论 -
堆排序(二分)
按照自己的理解写的堆排序。感觉和二分有点像。时间复杂度n*log n。#include <iostream> using namespace std;int n,arr[101];void creatstack(int i) //大根堆。边界问题。 { while(i!=1) { if( arr[i]>arr[i/2]...原创 2018-08-16 10:41:09 · 270 阅读 · 0 评论 -
make_heap(),push_heap(),pop_heap(),sort_heap()用法。
#include <iostream>#include <algorithm>using namespace std; //一般而言设计的时候都是从零开始的。 bool compare(int a,int b){ return a>b; //这里之后的时候在看一下吧。堆是相反的。 } int main...原创 2018-09-08 21:04:42 · 164 阅读 · 0 评论 -
Dijkstra算法实现
#include <iostream>using namespace std;const int inf=1000; int s[100],t[100]; int map[100][100];int v,n;void dijkstra(){ s[1]=0,t[1]=0; //使用零来实现也是可以的。 ...原创 2018-09-10 16:14:51 · 156 阅读 · 0 评论 -
线性筛素数&欧拉函数
线性筛素数:(关键代码为当i%prime[j]==0的时候跳出。)#include <iostream> //线性筛素数。#include <cstring> using namespace std;const int inf=1e6+7;int flag[inf]; //表示的是inf是不是质数,0表示不是,1表示是。 int prime[inf]...原创 2018-10-15 20:32:56 · 173 阅读 · 0 评论 -
kmp
求子串在主串中的位置:#include <iostream> //kmp#include <string> #include <cstring> //首先是返回字串所在的位置。 #include <algorithm>using namespace std;const int inf=1e6+7;int next[inf];...原创 2018-10-19 22:59:41 · 91 阅读 · 0 评论