![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法设计与分析
晚安Alice
软工/学习日常
展开
-
算法分析与设计期末知识点查漏补缺
1.合并排序2.排列3.快排4.分支限界法装载问题5.流水作业调度johnson算法6.动态规划01背包代码原创 2021-01-12 16:30:25 · 214 阅读 · 0 评论 -
全排列和全组合实现
转自:https://blog.csdn.net/wzy_2017/article/details/79992930?ops_request_misc=&request_id=&biz_id=102&utm_term=%25E6%258E%2592%25E5%2588%2597&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-79992930.first_rank_v转载 2021-01-11 21:23:35 · 94 阅读 · 0 评论 -
算法分析与设计——动态规划流水作业调度Johnson法则java
public static int flowShop(int []a,int []b,int []c) {int n=a.length;Element []d = new Element[n]; for (int i = 0; i < n; i++) { int key=a[i]>b[i]?b[i]:a[i]; boolean job=a[i]<=b[i]; d[i]=new Element(key, i, job); } MergeSort.mergeSo原创 2021-01-07 16:04:35 · 412 阅读 · 0 评论 -
算法分析与设计——贪心算法活动安排问题c++
#include <iostream>using namespace std;int s[]={0,1,3,0,5,3,5,6,8,8,2,12},f[]={0,4,5,6,7,8,9,10,11,12,13,14};bool a[11];int n=11;int Selector(){ a[1]=true; int j=1; int count=1; for(int i=2;i<=n;i++){ if(s[i]>=f[j]){ a[i]=true;原创 2021-01-05 14:39:50 · 189 阅读 · 0 评论 -
算法分析与设计——动态规划电路布线C++
#include <iostream>using namespace std;const int N=10;void MNS(int c[],int n,int **size);void Traceback(int c[],int **size,int n,int net[],int &m);int main(){ int c[]={0,8,7,4,2,5,1,9,3,10,6}; int **size=new int*[N+1]; for(int i=0;i<原创 2021-01-04 16:37:56 · 1259 阅读 · 1 评论 -
算法分析与设计——动态规划图像压缩C++
#include <stdio.h>#include <iostream>#include <fstream>#include <string.h>using namespace std; const int N = 7; int length(int i);void Compress(int n,int p[],int s[],int l[],int b[]);void Tracebace(int n,int& i,int s[]原创 2021-01-04 15:04:38 · 1996 阅读 · 1 评论 -
算法分析与设计——动态规划最长公共子序列C++
#include <iostream>#include <string.h>using namespace std;#define MAXLEN 100void LCSlength(char *x,char *y,int m,int n,int c[][MAXLEN],int b[][MAXLEN]){ int i,j; for(int i=0;i<=m;i++) c[i][0]=0; for(int i=0;i<=n;i++) c[0][i]=0原创 2021-01-04 10:01:41 · 272 阅读 · 0 评论 -
算法分析与设计——动态规划矩阵连乘问题C++
#include <iostream>using namespace std;#define N 7int MatrixChain(int *p,int n,int m[][N],int s[][N]){ for(int i=1;i<=n;i++){ m[i][i]=0; } for(int r=2;r<=n;r++){ for(int i=1;i<=n-r+1;i++){ int j=i+r-1; m[i][j]=m[i][i]+m原创 2021-01-03 20:24:32 · 820 阅读 · 0 评论 -
算法分析与设计——动态规划01背包C++
#include <iostream>using namespace std;int N,V,dp[1001],c[10001],w[100001];int main(){ int w[5]={0,2,3,4,5}; int v[5]={0,3,4,5,6}; int bagV=8; int dp[5][9]={{0}}; for(int i=1;i<=4;i++){ for(int j=1;j<=bagV;j++){ if(j<w[i])原创 2021-01-03 19:02:46 · 147 阅读 · 0 评论 -
算法分析与设计期末复习
分治法特点:1.把原问题规约为规模小的子问题,子问题与原问题具有相同的性质2.子问题规模足够小时可以直接求解3.算法可以递归也可迭代实现4.算法的分析方法:递推方程5.子问题的解综合得到原问题的解...原创 2021-01-03 09:52:31 · 339 阅读 · 0 评论 -
快速排序c++
#include <iostream>using namespace std;void QuickSort(int arry[],int L,int R){ if(L>=R) return ; int left=L,right=R; int pivot = arry[left]; while(left<right){ while(left<right && arry[right]>=pivot) { right--;原创 2021-01-02 20:09:59 · 80 阅读 · 2 评论 -
给定数组A[0..n-1],试设计一个算法,在最坏情况下用n+logn次比较找出A[0..n-1]中元素的最大值和次大值
掌握顺序统计算法的设计思想;实验内容给定数组A[0…n-1],试设计一个算法,在最坏情况下用n+logn次比较找出A[0…n-1]中元素的最大值和次大值。具体思路 顺序统计算法其实就是锦标赛算法,即两两比较得出两者之中最优, 再将该最优值与其他组的最优值进行比较, 得出最终的最优解。 分析: 例如这n(n=8)个数分别是:8 7 9 2 3 6 10 12 第一轮比赛:(8,7) (9,2) (3,6) (10,12) 比较了4次 得到第一轮的入选者:8 9 6 12 第二轮比赛:(8 9) (6 1转载 2020-10-12 17:35:09 · 1094 阅读 · 0 评论 -
算法与程序的区别和联系(转)
转载自:算法与程序的区别和联系算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。 算法是若干指令的有穷序列,满足性质: (1)输入:由外部提供的量作为算法的输入。 (2)输出:算法产生至少一个量作为输出。 (3)确定性:组成算法的每条指令是清晰,无歧义的。 (4)有限性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的。 (5)可行性:算法中所有的操作都必须足够基本,使算法的执行者或阅读者明确转载 2020-10-05 09:24:53 · 3343 阅读 · 0 评论 -
算法导论------渐近记号Θ、Ο、o、Ω、ω详解(转载)
转载自:https://blog.csdn.net/so_geili/article/details/53353593转载 2020-10-05 08:35:29 · 215 阅读 · 0 评论