算法设计与分析基础
桂花与酒
被技术反复虐的小菜鸡
展开
-
【算法】Prim算法最小生成树
一,二,代码#include<iostream>#define MAX 1000000using namespace std;int main(){ int min = MAX; int points =6; int edges = 10; int edge[points][points]; int dis=0;//最短距离数组 int flag[points]={0};//是否经过数组 //初始化数组 for(int i = 0;i<points;原创 2020-12-07 15:54:46 · 225 阅读 · 0 评论 -
【算法】蛮力法求最近对
一,思路对点集中所有点编号,依次计算之间的距离,找到最小距离二,代码实现/*蛮力法解决最近对问题*/ #include<iostream>#include<math.h>#define N 5using namespace std;int BruteForceClosestPoints(int n,int x[],int y[]){ int d = 1000000 ; int index1 = 0; int index2 = 0; for(int原创 2020-11-22 11:08:12 · 503 阅读 · 0 评论 -
【算法】蛮力法解决字符串匹配
/*蛮力法解决 字符匹配算法 */#include<string.h>#include<stdio.h>#define MAX 100000char mode[MAX],stringn[MAX]; int BruteForceStringMatch(char T[],char M[],int len_t,int len_m){ for(int i = 0; i<=len_t-len_m ; i++){ int j = 0; while(T[i+j原创 2020-11-12 21:40:27 · 807 阅读 · 0 评论 -
【算法】冒泡排序
第三章3.1.2 蛮力法解决排序(冒泡排序)//【蛮力法】冒泡算法, 进行len-1次循环比较,每一次循环将该数与后一位数比较,若比后一位数大,则往后交换位置,当比前一位数小(或等于时)则停止// #include<iostream>#define MAX = 100using namespace std;void BubbleSort(int test[],int len){ for(int i = 0; i<len-1; i++){ for(int j =原创 2020-11-11 20:55:46 · 102 阅读 · 0 评论 -
【算法】选择排序 C++实现
选择排序算法的基本思想:每一轮找到最小(升序)的元素放在当前序列的最前面。特点:先找到最小元素,记录下标,最后交换。时间复杂度:O(n^2)。以下为实现代码:#include<iostream>#define MAX = 1000using namespace std;void SelectionSort(int* t, int n){ for(int i = 0;i <= n-2;i++){ int index = i; for(int j = i+1; j原创 2020-11-11 19:26:16 · 116 阅读 · 0 评论