第一部分:Top K 算法详解 问题描述 百度面试题: 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。 假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千…
POJ3615(Cow Hurdles)图论-Floyd算法JAVA高速IO外挂!
POJ3615(Cow Hurdles) 图论-Floyd算法JAVA高速IO外挂! package classical_algorithm.graph.FloydWarshall; //http://poj.org/p…
nyist120 校园网络 (Tarjan算法 / 强连通分量)
校园网络(nyist 120) 解题思路请看代码块中的注释~ import java.util.Scanner; import java.util.Stack; import java.util.Vector; /**考…
nyist 211 POJ3660 Cow Contest(传递闭包、Floyd算法)
Cow Contest (nyist 211)(POJ3660) 解题思路: 考点:传递闭包 考查算法:Floyd算法 题目大意:有n头牛,有m条关系,每条关系指出了第一头牛能战胜第二头牛,这种战胜关系具有传递性。比如说…
nyist 230 彩色棒 (字典树+并查集+欧拉通路)
彩色棒 (nyist 230) 解题思路: 考点 算法 数据结构:欧拉回路、并查集、字典树 这道题是一个很好的图论综合题,题目说的是求给出的m个棒子是否能够拼接成一个棒子,只有两个棒子的某一端颜色相同才能拼接。 首先,我…
nyist 237 游戏高手的烦恼(二分图最小覆蓋==最大匹配---匈牙利算法)
游戏高手的烦恼(nyist 237) 解题思路: 考点:二分图的最小覆蓋 == 最大匹配 算法:匈牙利算法 题目分析:如果图上的第i行的第j列有敌人,则表示i与j有相连。求最少放多少个炸弹可以炸掉所有敌人,每个炸弹可以炸…
时间复杂度——大O记
时间复杂度是一个古老的话题,但是大家都知道它设计出来的目的是什么吗?可能心里嘀咕的并不是那么精准吧。有回答可能是衡量算法性能好坏的,这种粗糙的回答,用一句话“什么是好坏?”就能怼到孃胎;进一步答曰衡量算法执行快慢的,算是…
进一步认识分治算法(二)
为了进一步了解和掌握分治算法,请各位看官,继续往下打量。主要涉及的问题有选择类问题(选第k小,选第二大,选最值等)、信号平滑处理问题(卷积应用,卷积计算,快速傅里叶FFT变…
比较排序和线性时间排序
说线性时间时间排序,我们的大脑可能已经猜想出该类排序的时间复杂度是O(n),所以叫做线性时间排序,不错!你的大脑满满的都是逻辑。 然而,比较排序这个名词,你的大脑该如何灵光闪现呢?…… 好吧。比较…
红黑树伤感操作(下篇)
删除 算法描述: 1. 找到删除的节点。 2. &nbs…
红黑树的伤感操作(上篇)
叨序 红黑树的一些性质网上比比皆是,但我想最难理解的应该是他的插入和删除,所以此博文就是记录一下学习红黑树的过程。 废话少说…
相识传说中的分治算法(一)
据不可靠分析,分治法深得大神们的垂爱,故,想凑近一点认识这个传说中的大法。按照惯例,先上点玄乎的理论晕死一片再说。 基本思想: 分解:将问题分解成若干个子问题。 治理:递归…