算法
算法分析与设计作业
方丈非方丈
这个作者很懒,什么都没留下…
展开
-
算法分析与设计实践 - 大作业 - 圆排列问题
1.问题原创 2020-06-02 22:33:08 · 379 阅读 · 1 评论 -
算法分析与设计实践 - 作业13 - 算法读书笔记
1.问题代码(码字):Q {001,00,010,01}表示字符 a, b, c, d同一序列:0100001产生两种译码(产生歧义):01 00 001; 010 00 01二元前缀码:任何字符的代码不能作为其他字符代码的前缀利用二元前缀码译码:从第一个字符开始一次读入每个字符(0 或 1),如果发 现读到的子串与某个码字相等,就将这个子串译作对应的码字;然后从下一个字符开始继续这个过程,直到读完输入的字符串为止。二元前缀编码存储:二叉树结构,每个字符作为树叶,对应这个字符的前缀码看作根到这片原创 2020-05-31 21:26:54 · 189 阅读 · 0 评论 -
算法分析与设计实践 - 作业12 - 给定无向连通图G和m种颜色
1.问题代码(码字):Q {001,00,010,01}表示字符 a, b, c, d同一序列:0100001产生两种译码(产生歧义):01 00 001; 010 00 01二元前缀码:任何字符的代码不能作为其他字符代码的前缀利用二元前缀码译码:从第一个字符开始一次读入每个字符(0 或 1),如果发 现读到的子串与某个码字相等,就将这个子串译作对应的码字;然后从下一个字符开始继续这个过程,直到读完输入的字符串为止。二元前缀编码存储:二叉树结构,每个字符作为树叶,对应这个字符的前缀码看作根到这片原创 2020-05-31 21:26:20 · 3164 阅读 · 0 评论 -
算法分析与设计实践 - 作业11 - 最优前缀编码
1.问题2.解析3.设计4.分析T(n)=O(n)5.码源源码地址: https://github.com/chaoxing0910/ex11原创 2020-05-19 19:23:37 · 385 阅读 · 0 评论 -
算法分析与设计实践 - 作业10 - 相容问题
1.问题相容问题,解析时给出其他几种贪心策略(如按开始时间从小到大、每个活动时间的占用时间等),并给出这些贪心策略无法实现最优的反例。2.解析3.设计4.分析T(n)=5.码源源码地址: https://github.com/chaoxing0910/ex10...原创 2020-04-28 20:23:26 · 349 阅读 · 0 评论 -
算法分析与设计实践 - 作业9 - LCS算法
1.问题2.解析3.设计4.分析T(n)=5.码源源码地址: https://github.com/chaoxing0910/ex9原创 2020-04-21 19:46:53 · 274 阅读 · 0 评论 -
算法分析与设计实践 - 作业8 - 矩阵链乘法
1.问题2.解析3.设计4.分析5.码源源码地址: https://github.com/chaoxing0910/ex7原创 2020-04-14 19:59:04 · 199 阅读 · 0 评论 -
算法分析与设计实践 - 作业7 -7.3投资问题
1 .问题2.解析3.设计//核心算法 4.分析算法复杂度O()5.码源源码地址: https://github.com/chaoxing0910/ex7原创 2020-04-07 19:34:37 · 471 阅读 · 1 评论 -
算法分析与设计实践 - 作业6 - 选第k小元素:特定分治策略
1 .问题2.解析3.设计4.分析算法复杂度O()5.码源源码地址: https://github.com/chaoxing0910/ex6原创 2020-03-31 20:44:52 · 368 阅读 · 0 评论 -
算法分析与设计实践 - 作业5 - 分治法解最近对问题
1 .问题课本149页最近对问题2.解析3.设计#include <stdio.h>4.分析算法复杂度5.码源源码地址: https://github.com/chaoxing0910/ex5原创 2020-03-24 18:57:38 · 362 阅读 · 0 评论 -
算法分析与设计实践 - 作业4 - 二分归并排序
1 .问题二分归并排序:对n个不同的数构成的数组A[1…n]进行排序,其中n=2^k2.解析方法一:二分查找法将x和数组中间值T[m]比较,若相等则查找成功,如果不相等则看x大于还是小于T[m],缩小范围,直到查找到下标j,或查找结束,得出x不在数组中,返回j=0。3.设计//算法1:二分查找#include <stdio.h>#include <math.h&g...原创 2020-03-24 18:56:03 · 196 阅读 · 0 评论 -
算法分析与设计实践 - 作业3 - 两种检索算法
1 .问题写出两种检索算法:在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0。2.解析3.算法//算法1#include <stdio.h>//算法2#include <stdio.h> 4.分析记顶点数V,边数EFloyd算法时间复杂度为O(N2)Dijkstra算法:时间复杂度是O(...原创 2020-03-17 19:34:11 · 432 阅读 · 0 评论 -
算法分析与设计实践 - 作业2 - Floyd算法与Dijkstra算法
1 .问题1.1用Floyd算法求解下图各个顶点的最短距离。写出Floyd算法的伪代码和给出距离矩阵(顶点之间的最短距离矩阵)。1.2对于下图使用Dijkstra算法求由顶点a到顶点h的最短路径。2.解析2.1Floyd算法又称为弗洛伊德算法或插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,算法目标是寻找数组D[N][N]种,从顶点i到顶点j的最短路径...原创 2020-03-10 20:27:30 · 240 阅读 · 0 评论 -
算法分析与设计实践 - 作业1 - 分别采用Prim算法和Kruskal算法构建最小生成树
1 .问题分别采用Prim算法和Kruskal算法构建最小生成树。2.解析Prim算法——让一棵树长大算法开始时,会从图中的顶点集合V中任意选择的一个单顶点,作为序列中的初始子树,每一次迭代时把不在树中的权重最小的边和树中顶点相连,当图中所有顶点都包含在所构造的树中时算法停止。Kruskal算法——将森林合并成树该算法开始时,按照权重非递减顺序对图中边进行排序,然后从一个空子图开始,...原创 2020-03-02 21:32:41 · 1622 阅读 · 0 评论