随笔分类 - 算法进阶
摘要:标签: 算法 初始问题 :幼儿园小孩排成一行,但是男孩和女孩相邻会冲突,现在你是老师,每次只能调换相邻两个小孩的位置,要使男女冲突最少,至少要调换多少次? 输入情况 : 用形如'BBBGGBB'的一个字符串表示队伍,'B'表示男孩,'G'表示女孩。 输入情况 :最少的调换次数。 目标是使男女冲突最少
阅读全文
摘要:标签: 算法 初始问题 :在100层楼里,给定2个鸡蛋,在 安全楼层 以上的楼扔鸡蛋会碎。设计一种方案,测试哪层楼是 最高安全楼层 ,要求测试次数最少。 思路:这是典型的 动态规划 问题。 假设$f[n]$表示从$n$层楼找到摔鸡蛋不碎安全楼层的 最少判断次数 。 假设第一个鸡蛋第一次从第$i$层扔
阅读全文
摘要:动态规格经典问题现在我有一只背包和N个物品,如果物品很多,不能全部塞进背包里。相信很多人的选择是,把最有价值的物品尽可能多地往背包里塞。问题描述:给定N个物品和一个背包。物品i的重量是Wi,其价值为vi,背包的容量为C。问应该如何选择装入背包的物品,使得装入背包的物品的总价值为最大?在选择物品的时候...
阅读全文
摘要:问题描述:Given 2 sequences, X = x1,...,xm and Y = y1,...,yn, find a common subsequence whose length is maximum. Subsequence need not be consecutive, but m...
阅读全文
摘要:不同于对字符使用定长编码,huffman编码法使用“频繁出现的字符占用更短的位数,不频繁出现的字符占用更长的位数”的方法,来实现编码压缩。 首先对于text中的所有字符,我们统计每个字符出现的频率,例如: huffman算法描述: 第一步,初始化n个单节点的树(森林),为它们标上字...
阅读全文
摘要:在算法设计的时空权衡设计技术中,对问题的部分或者全部输入做预处理,对获得的额外信息进行存储,以加速后面问题的求解的思想,我们称作输入增强。 其中字符串匹配算法Horspool算法和Boyer-Moore算法就是输入增强的例子。 首先了解一下字符串匹配的概念。我们把在一个较长的n个字符的...
阅读全文
摘要:一、算法要求:构建2-3-4树从一个数据文件中依次读入关键字序列构建树,测试建树时间;测试遍历产生顺序输出序列需要的时间;测试构建完成树后删除指定关键字集合的时间。二、算法思路: 2-3-4树是一种阶为4的B树。它是一种自平衡的数据结构,可以在O(logN)的时间内查找、插入和删除,这里的n是树中...
阅读全文
摘要:算法思路:数据预处理。先把点集中的所有点,按照Y坐标大小从左往右排序,得到关于Y轴的有序点集合。具体使用STL的qsort方法,自定义比较函数。使用分治的思想, 把点集分开出来求解。先选取点集中Y坐标最中间的点,该点所在垂直于Y轴的平面把点集划分成两个子点集leftSubSet和rightSubSe...
阅读全文

浙公网安备 33010602011771号