![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
复习
卡戎一生
这个作者很懒,什么都没留下…
展开
-
【复习】分支限界法
#include<stdio.h>#include<stdlib.h>#include<math.h>//做蛋糕#define pai 3int V=0,Q=0;int mins=99999;int h[], r[],v[],s[];void cake(int t) { int n, m; int i; r[0] = m + 1; h[1] = n; if (t = m){ if (V != n * pai) return; Q原创 2020-12-24 23:02:05 · 291 阅读 · 0 评论 -
【复习】回溯法
#include<stdio.h>#include<stdlib.h>#include<string.h>/*回溯法思路:1 确定解空间树的结构:排列树 or 子集树;m叉树(分两种),n层,mn分别对应题中哪些变量2 确定限界函数:最优解或者限制变量(如最小价格,或者路线是否存在)3 确定可行解,以及更新方式4 确定最终输出,并在设计算法时更新答案(不能忽略)注:解空间树的结构一般有三种: 一种是子集树问题,比如01背包,每次的选择相对独立,互不原创 2020-12-24 23:01:32 · 411 阅读 · 0 评论 -
【复习】贪心算法
#include<stdio.h>#include<stdlib.h>//贪心算法/*特点:局部最优解也是全局最优解。通过不断的求解局部最优解来求出全局最优解注:邻接矩阵结构体创建*///prim/*先随便从图中选取一条边,然后将该边到其他边的距离进行排序,选择最小的一条边(局部最优解),该边一定是最小生成树的一部分,然后通过原顶点到边距离和新顶点到边的距离对比,更新新顶点到其他顶点的距离,循环此过程。注: 1 表需要初始化 2 如何输出:找到原创 2020-12-24 22:58:44 · 180 阅读 · 0 评论 -
【复习】递归与分治
#include<stdio.h>#include<stdlib.h>#include<string.h>//二分查找最值int findmax(int a[], int l, int r) { int maxl = a[l], maxr = a[r]; if (l < r) { int mid = (l + r) / 2; maxl = findmax(a, l, mid); maxr = findmax(a, mid + 1, r);原创 2020-12-24 22:56:06 · 172 阅读 · 0 评论 -
【复习】排序算法
#include<stdio.h>#include<stdlib.h>#include<string.h>//直接插入排序void insertsort(int a[], int n) { int i, j, temp; for (i = 1; i < n; i++) { j = i - 1; temp = a[i]; while (j >= 0 && a[j] > temp) {//temp不是a[i]原创 2020-12-24 22:54:23 · 114 阅读 · 0 评论 -
【复习】C程序设计
#include<stdio.h>#include<stdlib.h>//2019 2int* sort(int a[], int n, int q, int p) { int temp = a[q - 1], i, j; if (p >= 0) { for (i = n - 1; i >= p + q; i--) a[i + 1] = a[i]; a[p + q] = temp; for (j = q; j <= n; j++)原创 2020-12-24 22:53:11 · 172 阅读 · 0 评论 -
【复习】链表
#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct patient { int id; int age; struct patient* next;}patient;typedef struct node { int data; struct node* next;}*link;//病人看病,60以上按年龄,相同按等级顺序,60以下按顺序void medic原创 2020-12-24 22:52:16 · 99 阅读 · 0 评论 -
【复习】动态规划
#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>//20201126总结:/*1 几种递归类模型(动态转移方程): 1 子序列型:一般从两个子序列中求符合条件的子序列,方法是优先考虑以a[i]为结尾的子序列,比大小,或者筛选符合条件的尾结点 最长公共子序列:当最后的子序列相等时,最长=[长度-1]+1 字符串转换:当最后一个字符相等时,只需要考虑前原创 2020-12-24 22:51:29 · 125 阅读 · 0 评论 -
【复习】二叉树
#include<stdio.h>#include<stdlib.h>//创建二叉树typedef char elemtype;typedef struct node { elemtype data; struct node* lchild, * rchild;}node, * bitree;typedef struct { node* root;}tree;void insert(tree* t, elemtype value) { node* node =原创 2020-12-24 22:47:46 · 236 阅读 · 2 评论