2020年5月27日

圆排列问题

摘要: 问题 圆排列问题:给定n个圆的半径序列,将它们放到矩形框中,各圆与矩形底边相切, 求具有最小排列长度的圆排列。 解析 圆排列问题的解空间是一棵排列树。按照回溯法搜索排列树的算法框架,设开始时a=[r1,r2,……rn]是所给的n个元的半径,则相应的排列树由a[1:n]的所有排列构成。 1. cent 阅读全文

posted @ 2020-05-27 15:42 zhhhb 阅读(1470) 评论(0) 推荐(0)

LCS算法

摘要: 问题 什么是最长公共子序列呢?好比一个数列 S,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则S 称为已知序列的最长公共子序列。 举个例子,如:有两条随机序列,如 1 3 4 5 5and 2 4 5 5 7 6,则它们的最长公共子序列便是:4 5 5。 解析 Xi=﹤x1 阅读全文

posted @ 2020-05-27 13:57 zhhhb 阅读(478) 评论(0) 推荐(0)

最优前缀码

摘要: 问题 最优前缀编码 解析 二元前缀码:任何字符的代码不能作为其它字符代码的前缀.eg.Q={001,00,010,01}不是二元前缀代码,如序列0100001会产生歧义 设C={x1,x2,…,xn}是n个字符的集合,f(xi)为xi出现的频率,d(xi)为xi的码长,i=1,2,…,n. 存储一个 阅读全文

posted @ 2020-05-27 13:41 zhhhb 阅读(1590) 评论(0) 推荐(0)

相容问题

摘要: 学习博客:https://blog.csdn.net/sun_shine9112/article/details/105822859 问题 相容问题,解析时给出其他几种贪心策略(如按开始时间从小到大、每个活动时间的占用时间等),并给出这些贪心策略无法实现最优的反例。 解析 二分归并排序采用了分治的思 阅读全文

posted @ 2020-05-27 13:31 zhhhb 阅读(209) 评论(0) 推荐(0)

2020年5月26日

着色问题

摘要: 描述 图的m着色问题。给定无向连通图G和m种颜色,用这些颜色给图的顶点着色,每个顶点一种颜色。如果要求G的每条边的两个顶点着不同颜色。给出所有可能的着色方案;如果不存在,则回答“NO”。 解析 (1)通过回溯的方法,不断的为每一个节点着色,在前面cur-1个节点都合法的着色之后,开始对第cur-1个 阅读全文

posted @ 2020-05-26 23:36 zhhhb 阅读(261) 评论(0) 推荐(0)

2020年4月14日

矩阵链乘法

摘要: 整理自博客:https://blog.csdn.net/c18219227162/article/details/50412333 什么是矩阵链乘法? 给定n个矩阵构成的一个链<A1,A2,A3,.......An>,其中i=1,2,...n,矩阵A的维数为pi-1pi,对乘积 A1A2...An 阅读全文

posted @ 2020-04-14 19:31 zhhhb 阅读(1213) 评论(0) 推荐(0)

2020年4月7日

投资问题

摘要: 问题描述: 设m元钱,n项投资,函数 fi(x) 表示将x元投入第 i 项项目所产生的效益,i=1,2…,n. 问:如何分配这m元钱,使得投资的总效益最高? 解析: 递推公式: 设 Fk(x) 表示 x 万元投给前 k 个项目的最大效益,k = 1,2…n,x = 1,2,…,m。 递推方程:Fk 阅读全文

posted @ 2020-04-07 21:04 zhhhb 阅读(195) 评论(0) 推荐(0)

2020年3月31日

选第k小元素:分治策略

摘要: 解析: 1. 将n个元素每5个一组,分成n/5(上界)组。 2. 取出每一组的中位数,任意排序方法,比如插入排序。 3. 递归的调用selection算法查找上一步中所有中位数的中位数,设为x,偶数个中位数的情况下设定为选取中间小的一个。 4. 用x来分割数组,设小于等于x的个数为k,大于x的个数即 阅读全文

posted @ 2020-03-31 18:25 zhhhb 阅读(336) 评论(0) 推荐(0)

2020年3月10日

二分查找和顺序查找

摘要: 本次操作挺简单的,直接代码吧。 顺序查找: 复杂度:O(n) #include<bits/stdc++.h> using namespace std; int main() { int a[6]; int key; for(int i=1;i<6;i++) cin >> a[i]; cin >> k 阅读全文

posted @ 2020-03-10 20:45 zhhhb 阅读(333) 评论(0) 推荐(0)

2020年3月3日

初探Floyd和Dijkstra

摘要: Floyd: 问题:Floyd算法求解下图各个顶点的最短距离 解析: 从任意节点i到任意节点j的最短路径不外乎2种可能,1是直接从i到j,2是从i经过若干个节点k到j。所以,算法假设Dis(i,j)为节点u到节点v的最短路径的距离,对于每一个节点k,算法检查Dis(i,k) + Dis(k,j) < 阅读全文

posted @ 2020-03-03 18:34 zhhhb 阅读(278) 评论(0) 推荐(0)

导航

点击右上角即可分享
微信分享提示