自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 算法导论 · 分支界限 · 01背包问题

源代码#include <cstdio>#include <cstdlib> typedef struct QNode{ int value; //当前结点的总价值 int weight; //当前的总重量 struct QNode *next;}QNode, *QueuePtr; typedef struct{ QueuePtr front; ...

2019-07-27 22:48:33 863

原创 算法导论 · 分支界限 · 旅行商问题

源代码#include<iostream> #include<algorithm> #include<cstdio> #include<queue> #define INF 100000 using namespace std; int n; int mp[100][100]; struct node { ...

2019-07-27 22:46:16 892

原创 算法导论 · 回溯算法 · 图着色问题

源代码#include <cstdio>#include <algorithm>using namespace std;const int maxn = 100;int n, edge, m = 4;int g[maxn][maxn];int x[maxn];void MColoring(int k) // x[1]=1, 其它分量初值为0{...

2019-07-27 22:43:05 1838

原创 算法导论 · 回溯算法 · 子集和数问题

算法说明求解201内,任意多个质数和为201的解的个数,构造向量解的过程源代码#include <iostream>#include <cstring>#include <cmath>using namespace std;#define maxn 10000#define M 201int prime[maxn], isPri[maxn...

2019-07-27 22:40:53 1299

原创 算法导论 · 回溯算法 · n皇后问题

源代码#include <cstdio> #include <cmath> #include <algorithm>using namespace std;const int n = 8;int x[n + 1], num = 0; //皇后的位置用列值来表示,下标为行数,值为列 bool isPlace(int k) { for(int...

2019-07-27 22:38:17 604

原创 算法导论 · 贪心策略 · dijkstra算法

算法说明迪杰斯特拉算法是要来求单源路径最短算法,与普里姆算法很相近,唯一的区别,这里刷新的是源点与其他点的距离源代码#include <cstdio>#include <vector>#include <algorithm>using namespace std;#define maxn 1000 + 1#define inf 1 <...

2019-07-27 22:35:40 916

原创 算法导论 · 贪心策略 · kruskal算法

算法说明克鲁斯卡尔算法,利用边贪心,先对边排序,每次加入最小的边,使用并查集,判断边的端点是否已经在同一个集合中即确定要不要加入这条边源代码#include <cstdio>#include <vector>#include <algorithm>using namespace std;#define maxn 1000 + 1struc...

2019-07-27 22:33:11 1423

原创 算法导论 · 贪心策略 · prim算法

算法说明普里姆算法,用来求加权连通图最小生成树,利用点到集合的距离,开始都是无穷大,随着点的加入,不断刷新距离,每次将距离最小的点加入,同时也判断是不是已经在集合中了。源代码#include <cstdio>#include <vector>#include <algorithm>using namespace std;#define max...

2019-07-27 22:31:11 1342

原创 算法导论 · 动态规划 · 链式矩阵乘法

源代码#include <cstdio>#include <cstring>#define maxn 101#define minc(a, b) (a) > (b) ? (b) : (a)#define INF 1 << 29int c[maxn][maxn], m[maxn];int n;int main() { memset...

2019-07-26 23:30:13 353

原创 算法导论 · 动态规划 · 最优二分检索树

算法说明构造最佳二叉搜索树:如果已知集合元素的搜索概率,那么自然会提出一个关于最优二叉搜索树的问题,搜索中的平均比较数是可能的最小值。例如,考虑四个要搜索的键a、b、c和d,其概率分别为0.1、0.2、0.4和0.3。则0.11+0.22+0.43+0.34=2.9源代码运行结果...

2019-07-26 23:27:41 2157

原创 算法导论 · 动态规划 · 01背包问题

源代码#include <cstdio>#include <cstring> #include <vector>using namespace std;#define maxn 101#define maxm 1001#define maxK(a, b) (a) > (b) ? (a) : (b)struct node { int...

2019-07-26 23:22:32 249

原创 算法导论 · 动态规划 · 比对

算法说明由小规模到大规模,每次都有三种情况,分别进行处理源代码#include <iostream>#include <cstdio>#include <cstring>#include <string>using namespace std;#define maxn 101#define minE(a, b) (a) &gt...

2019-07-26 23:19:21 298

原创 算法导论 · 动态规划 · DAG最长路径

算法说明先对图进行拓扑排序,再从入度的节点开始计算dilg(v)=max(u,v)∈E{dilg(u)+w(u, v)}源代码#include <cstdio>#include <cstring>#include <vector>#include <queue>using namespace std;#define maxn ...

2019-07-26 23:16:37 2156

原创 算法导论 · 动态规划 · 二次项系数计算

算法说明递推公式如下C(n,k)=C(n-1,k-1)+C(n-1,k),n>k>0C(n,0)=C(n,n)=1源代码#include <cstdio>#include <cstring>#define maxn 100 + 1#define mincc(a, b) (a) > (b) ? (b) : (a)int c[maxn...

2019-07-26 23:14:31 1529

原创 算法导论 · 动态规划 · Floyd所有点对之间最短距离

算法说明Floyd主要来刷新两点之间的距离,三重循环源代码#include <cstdio>#include <algorithm>using namespace std;#define INF 1 << 20#define maxn 100 + 1int n, m, a, b, c;int G[maxn][maxn];void ou...

2019-07-26 23:11:32 484

原创 算法导论 · 动态规划 · 多段图问题

算法说明计算开始点到结束点的最短路径长度,从后往前记录最短路径长COST(4,9) = 4,COST(4, 10) = 2,COST(4,11) = 5COST(3,6) = min{6 + COST(4,9),5 + COST(4,10)} = 7COST(3,7) = min{4 + COST(4,9),3 + COST(4,10)} = 5COST(3,8) = 7COST(...

2019-07-26 23:06:59 980

原创 算法导论 · 减治法 · 递归实现插入排序

源代码#include <cstdio>void inserSort(int a[], int n) { int key = a[n], i; for(i = n - 1; i >= 0; i--) { if(a[i] > key) a[i + 1] = a[i]; else break; } a[i + 1] = key;}void in...

2019-07-26 22:57:08 464

原创 算法导论 · 减治法 · 迷宫问题

算法说明迷宫问题可以用深度或者是广度搜索来实现走出迷宫,这里使用dfs,同时找出所有可能的路线。源代码#include <cstdio>#include <vector>#include <cstring>using namespace std;struct node { int x, y; node(int xx, int yy) {...

2019-07-26 22:53:56 286

原创 算法导论 · 分治法 · 循环赛日程表安排

算法说明这个算法主要是找规律,对角线块的排列是一样的,直接进行块复制源代码#include <iostream> using namespace std;#define max 10000int b[max][max];void copy(int n);void tournament(int n);int main() { //freopen("Cloe...

2019-07-26 22:49:57 367

原创 算法导论 · 分治法 · 第K小的数

算法说明对于不同的数据规模选择不同的算法,对于大规模,先进行分组,如5个一组,找出每组的中位数形成一组数据,对于遮住数据,再找其中位数,利用这个中位数就可将这个数据规模分成两部分,最看要找的数在那一部分中,递归调用。源代码#include <iostream>#include <vector>#include <algorithm>using n...

2019-07-26 22:42:26 1839

原创 算法导论 · 分治法 · 最近点对问题

算法说明先将坐标系中的点按横坐标的大小进行排序,从中位数大小位置开始分割,独立的求两边的最短距离,去最小值,之后以这个中位线处往两边扩展最小值个长度,求改范围的最小值,比较三者,得出问题的最小值。对于求两边的最小值问题,递归调用。源代码#include <iostream>#include <cmath>#include <ctime>#incl...

2019-07-26 22:38:23 1210 2

原创 算法导论 · 分治法 · strassen矩阵乘法

算法说明strassen矩阵乘法是将每个矩阵分成4块,分别按照公式计算,其中再遇到矩阵乘法时,递归调用。公式如下:源代码#include <cstdio>const int n = 2;void strassen(int **a, int **b, int **c, int m) { if(m == 1) { c[0][0] = a[0][0] * b[0][...

2019-07-26 22:35:11 1469

原创 算法导论 · 分治法 · 大整数乘法

算法说明对于大整数乘法,是将一个数,在数位上直接分成两半,分开计算,按照公式,加法直接计算,遇到乘法时,递归调用自己。公式如下图:源代码#include <cstdio>#include <cmath>int multiplye(int a, int b, int n) { //大整数乘法 if(n == 1) return a * b; int m...

2019-07-26 22:27:40 825

原创 算法导论 · 分治法 · 快速排序

算法说明将首元素作为一个Key,从两边往中间遍历,用这个key,分成比它大和比它小的两部分,递归下去源代码#include <cstdio>int a[10] = {1, 4, 5, 7, 8, 9, 0, 3, 2, 6}, n = 10; //待排数组int partition(int arr[], int p, int q) { int i = p, j = q...

2019-07-26 22:19:53 150

原创 算法导论 · 分治法 · 归并排序

算法说明归并排序粗暴的将待排数据分成两块,分别排序,对每一部分在分成两部分,直到分成一个数再直接返回,最后逐级合并。源代码#include <cstdio>void Merge(int p1[],int q1, int p2[], int q2, int a[]) { //合并 int i = 0, j = 0, k = 0; while(i < q1 &am...

2019-07-26 22:15:46 178

原创 算法导论 · 蛮力法 · 背包问题

算法说明蛮力法求解背包问题,求解出只放[1…n]件物品时的最大价值,对于每种放不同个数的物品,用排列组合来确定放那几个物品,总之构造向量解。源代码#include <cstdio>#include <algorithm>using namespace std;#define n 4#define max(a, b) (a) > (b) ? (a) ...

2019-07-11 20:58:51 1435

原创 算法导论 · 蛮力法 · 任务分配问题

算法说明对于任务分配问题,n个人n项任务,代价不同,蛮力法排列组合求解源代码#include <cstdio>#include <algorithm>using namespace std;#define n 4#define max(a, b) (a) > (b) ? (a) : (b)struct it { int w, v;}; ...

2019-07-11 20:54:27 3159

原创 算法导论 · 蛮力法 · 旅行商问题

算法说明旅行商问题是NP难问题,这里给出蛮力法求解过程,从原始城市出发,经过每一个城市后,再回到原始城市,即对中间的城市进行排列组合,求出每一种情况的权值和,取最小值。这里的排列组合,用stl中next_permutation()实现代码如下:#include <cstdio>#include <algorithm>using namespace std;...

2019-07-11 20:51:08 2294

原创 嵌入式系统考试题库(CSU)

一、选择题(10分)1、下列描述不属于RISC计算机的特点的是( C)。A.流水线每周期前进一步。 B.更多通用寄存器。C.指令长度不固定,执行需要多个周期。// 指令长度固定,指令格式种类少,寻址方式种类少D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。2、存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以小端模式存储,则2000...

2019-07-11 20:43:03 15270

原创 嵌入式系统试题库(CSU)

一、填空题1、ARM微处理器有 7种工作模式它们分为两类 非特权模式 、 特权模式 。其中用户模式属于 非特权模式2、ARM支持两个指令集, ARM核因运行的指令集不同,分别有两个状态 ARM 、 Thumb ,状态寄存器CPSR的 T 位反映了处理器运行不同指令的当前状态3、ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器, R15 寄存器用于存储PC,R...

2019-07-11 20:38:23 42379 1

原创 matlab 非线性拟合 y= 1 / (a + b * x)

一、题目已知:y= 1 / (a + b * x)x = 1.0 : 0.4 : 2.6;y = [0.931, 0.473, 0.297, 0.224, 0.168];通过各种拟合方法求a, b的值,画出拟合曲线,并比较结果,分析误差二、思路导图三、流 程 图...

2019-07-11 20:32:23 7131

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除