算法
苦练算法的涛
南理工网络安全专业的学渣
展开
-
随机算法之随机非重复采样
代码#include<iostream>#include<stdlib.h>using namespace std;const int N =10;const int M =5;int main(){ int sample[N]={1,2,3,4,5,6,7,8,9,10}; int result[M]; bool flag[N]; for(int i...原创 2020-04-19 10:11:22 · 302 阅读 · 0 评论 -
分治算法之棋盘覆盖
代码#include<iostream>using namespace std;int ncount=0;//计算L型骨牌的数量int matrix[100][100]={0}; void chessBoard(int tr,int tc,int dr,int dc,int size)//tr 左上角方格的行号 tc 左上角方格的列号 //dr 特殊方格的行号 ...原创 2020-04-16 09:35:27 · 326 阅读 · 0 评论 -
分治算法之全排列
代码#include<iostream>using namespace std;void swap(int a[],int i,int j){ int temp=a[i]; a[i]=a[j]; a[j]=temp;}void printArray(int a[],int n){ for(int i=0;i<n;i++){ cout<<a[i...原创 2020-04-15 10:15:56 · 293 阅读 · 0 评论 -
分治算法之大整数相乘
代码#include<iostream>#include<cmath>using namespace std;#define sign(a) ((a>0)?1:-1)int divideConquer(int x,int y,int n){ int sign =sign(x)*sign(y);//判断符号 正负 x=abs(x); ...原创 2020-04-15 08:51:15 · 601 阅读 · 0 评论 -
分治算法之快排
动画演示黄色:基准元素绿色:比基准元素小紫色:比基准元素大代码#include<iostream>using namespace std;int a[1005];int n;//元素的个数 int split(int low,int high){ int x = a[low]; //基准元素 while(low<high) { while(low&...原创 2020-04-09 10:47:13 · 126 阅读 · 0 评论 -
动态规划之最长公共子序列
代码#include <iostream>#include <algorithm>using namespace std;int main(){ int n;// 数组的长度 while(cin>>n) { // a :待输入数组 // d :用于保存第i个数字时的最长子序列 ...原创 2020-04-13 23:00:35 · 123 阅读 · 0 评论 -
动态规划之0-1背包问题
一、代码//B[k][w] k 前k个物品 w 剩下的空间 #include<iostream>using namespace std;#define N 6 //因为有5件商品#define W 21//因为背包容量最大为20//目的是为了出现 B[5][20]int B[N][W]={0};int w[6]={0,2,3,4,5,9};int v[6]={0...原创 2020-04-13 22:10:05 · 163 阅读 · 0 评论 -
动态规划之矩阵链
//矩阵链 //时间复杂度为O(N^3) /*划分子问题: 1、确定子问题的边界: 每一个子问题就是矩阵链的长度,边界即矩阵链长度 2、将问题求解变成多步判断的过程:找出子问题的最优解即 矩阵链中求出最小计算量 定义优化函数: q=min{q,m[i][k]+m[k+1][j]+p[i-1]*p[k]*p[j]} 设计备忘录:m[i][j]=q 设计标记函...原创 2020-03-23 16:19:31 · 757 阅读 · 0 评论 -
堆的基本操作——基于数组实现
SiftUpvoid siftUp(int i){ bool done = false; if(i==1) return;//根节点,无法上移 while(i==1 || done) { if(h[i]>h[i/2]) { int temp = h[i]; h[i] = h[i/2]; h[i/2] = temp; ...原创 2020-04-08 22:05:45 · 225 阅读 · 0 评论