学校考试
不想做红队的安服仔不是好安服
如果你了解3,6,9的秘密,你就会拥有开启宇宙的钥匙
展开
-
假的哈夫曼C++版--学校考试第10题
问题: 1、使用贪心算法解决如下问题 问题:已知字符出现的频率,现要求根据字符出现的频率求出该字符对应的哈夫曼编码。 举例:输入字符频率表 a b c d e 45 13 12 16 9 输出: a:0 b:110 c:1110 d:10 e:1111 这真的就是一个假的哈夫曼树,具体的东西我也不想写了,这就是个假的!!!它是将一个哈弗曼树的每一步排序都...原创 2019-12-25 19:45:02 · 130 阅读 · 0 评论 -
分治法-整数划分(java)
问题: 将正整数n表示成一系列正整数之和n=n1+n2+…+nk(其中,n1>=n2>=…>=nk>=1,k>=1),求任意正整数n的划分数(n<10)。例如: 6; 5 + 1; 4 + 2, 4 + 1 + 1; 3 + 3, 3 + 2 + 1, 3 + 1 + 1 + 1; 2 + 2 +2, 2 + 2 + 1 + 1, 2 + 1 + 1 + 1 +...原创 2019-12-14 16:32:08 · 866 阅读 · 2 评论 -
学校期末考试版-回溯法-旅行商问题
使用回溯法解决如下问题 问题: 某售货员要到若干城市去推销商品,已知各城市之间的路程。他要选定一条从驻地出发,经过每个城市一次,最后回到驻地的路线,使总的路程(或总旅费)最小。城市数量小于5个。 用回溯法解决问题时,首先要考虑如下三个问题。 (1)定义合适的解空间 因为解空间的大小对搜索效率有很大的影响,因此使用回溯法首先要定义合适的解空间,确定解空间包括解的组织形式和显约束。 解的组织形式:解的...原创 2019-12-13 22:58:47 · 831 阅读 · 0 评论 -
学校期末考试版-贪心算法(最优转载问题)java
问题: 有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为wi。最优装载问题要求在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。 举例:假设c=20,w={5,6,7,8,9},则输出 5 6 7 算法设计 贪心算法: (1)贪心策略: 首先要确定贪心策略,选择当前看上去最好的一个方案。例如,挑选苹果,如果你认为大的是最好的,那你每次都从苹果堆中拿一个最大的,作为局部最优解,...原创 2019-12-13 17:27:03 · 787 阅读 · 1 评论 -
学校考试版-矩阵连乘
问题:给定n个矩阵{A1,A2,…,An},其中Ai与Ai+1是可乘的,i=1,2,…,n-1,求矩阵相乘至少需要多少次数乘? 举例:A1 10100,A2 1005,A3 550,则A1A2*A3至少需要7500次数乘。 算法设计 采用自底向上的方法求最优解,对于每一个小规模的子问题都求最优解,并记录最优策略(加括号的位置),具体算法设计如下。 (1)确定合适的数据结构 采用一维数组p[]来记录...原创 2019-12-13 16:03:32 · 156 阅读 · 1 评论 -
学校期末考试版-最短路径
声明:此版本是用于自己期末考试的,嘻嘻嘻,代码功能与正式版相比没有了所经过的最短路径。 算法设计: Dijkstra算法是解决单源最短路径问题的贪心算法,它先求出长度最短的一条路径,再参照该最短路径求出长度次短的一条路径,直到求出从源点到其他各顶点的最短路径。 Dijkstra算法的基本思想是首先假定源点为u,顶点集合V被划分为两部分:集合V和V-S。初始时S中仅含有源点为u,其中S中的顶点到源点...原创 2019-12-11 23:16:29 · 172 阅读 · 0 评论 -
详解分治法-快速排序-java语言实现
分治法-快速排序-java语言实现 问题描述: 输入一个数字N后,输入N个数字,将N个数字排序后输出. 输入: 8 1 6 5 2 3 8 7 9 输出: 1 2 3 5 6 7 8 9原创 2019-11-27 11:13:51 · 2087 阅读 · 2 评论 -
超详解动态规划之0-1背包问题,java语言实现
超详解动态规划之0-1背包问题 问题: 问题:有 N 件物品和一个容量为 V 的背包。第 i 件物品的费用是 w[i],价值是 p[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 举例:假设v=20,w={5,6,3,7,8},p={6,7,4,8,9},则最大价值为23 逆向构造最优解输出哪些物品放入了背包 输入 5 20 5 6 3 7 8 6 7 4 8...原创 2019-11-28 17:21:16 · 775 阅读 · 0 评论 -
学校期末考试版-动态规划最长公共子序列
声明:该版本与正式版相比少了最长公共子序列的来源,即只有公共子序列的长度 算法设计 最长公共子序列问题满足动态规划的最优子结构性质,可以自底向上逐步得到最优解 (1)确定合适的数据结构 采用二维数组c[][]来记录最长公共子序列的长度。 (2)初始化 输入两个字符串s1,s2,初始化c[][]第一行第一列元素为0. (3)循环阶段 ①.i=1;s1[0]与s2[j-1]比较,j=1,2,3,…,l...原创 2019-12-12 16:30:56 · 162 阅读 · 0 评论