
algorithms第四版
文章平均质量分 89
xiaopihaierletian
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法分析O(n), O(nlogn)...
1. 定义大O符号(Big O notation)是用于描述函数渐近行为的数学符号。更确切地说,它是用另一个(通常更简单的)函数来描述一个函数数量级的渐近上界。2. 说明f(n) = 2n^2 + 3n + 1f(n) = O(n^2)orf(n) ∈ O(n^2)为什么可以这么去描述?lim( f(n) / n^2) = a ( n--> 0,原创 2017-06-27 20:54:47 · 5727 阅读 · 1 评论 -
教你彻底学会动态规划——入门篇
动态规划相信大家都知道,动态规划算法也是新手在刚接触算法设计时很苦恼的问题,有时候觉得难以理解,但是真正理解之后,就会觉得动态规划其实并没有想象中那么难。网上也有很多关于讲解动态规划的文章,大多都是叙述概念,讲解原理,让人觉得晦涩难懂,即使一时间看懂了,发现当自己做题的时候又会觉得无所适从。我觉得,理解算法最重要的还是在于练习,只有通过自己练习,才可以更快地提升。话不多说,接下来,下面我就通过一个转载 2017-11-01 16:02:40 · 838 阅读 · 0 评论 -
教你彻底学会动态规划——进阶篇
在我的上一篇文章中已经详细讲解了动态规划的原理和如何使用动态规划解题。本篇文章,我将继续通过例子来让大家更加熟练地使用动态规划算法。 话不多说,来看如下例题,也是在动态规划里面遇到过的最频繁的一个题,本题依然来自于北大POJ: 最长公共子序列(POJ1458) 给出两个字符串,求出这样的一个最长的公共子序列的长度:子序列中的每个字符都能在两个原串中找到, 而且每个字符转载 2017-11-01 16:31:14 · 819 阅读 · 0 评论 -
隐马尔科夫模型(Hidden Markov Model,HMM)
前言在李航的《统计学方法》第十章有对隐马尔科夫模型(Hidden Markov Model,HMM)比较详细的介绍和推导公式,我参考公式结合中文分词应用实现了隐马模型观测序列的生成、前向算法、维特比算法。本文在此针对HMM模型在中文分词中的应用,讲讲实现原理。我尽可能的撇开公式,撇开推导。结合实际开源代码作为例子,争取做到雅俗共赏,童叟无欺。没有公式,就没有伤害。理原创 2017-05-20 21:02:11 · 860 阅读 · 0 评论 -
排序算法理论与总结
1. 前言排序和查找是计算机科学中非常重要的一个课题,也是处理事务时常遇到的问题。可以说排序和查找是程序员必须掌握的基础知识。当前排序算法所要处理的问题特点:(1)数据量大(2)数据分布不集中2. 排序的基本思想一个优秀的排序算法必须遵循的思想:分而治之(Divide-Conquer-Merge)首先对数据进行分块(Divide),然后对每一块排序(Sort),原创 2017-06-27 21:03:01 · 438 阅读 · 0 评论 -
数据挖掘、数据分析、海量数据处理的面试题(总结july的博客)
缘由由于有面试通知,现在复习一下十道和海量数据处理相关的题。两篇博客已经讲的非常完备了,但是我怕读懂了并非真的懂,所以必须自己复述一遍。教你如何迅速秒杀掉:99%的海量数据处理面试题海量数据处理:十道面试题与十个海量数据处理方法总结MapReduce技术的初步了解与学习面试归类下面6个方面覆盖了大多数关于海量数据处理的面试题:分而治之/hash映射 +转载 2017-05-24 11:21:52 · 2801 阅读 · 0 评论 -
研究生课程 算法分析-回溯法和分支限界法
回溯法(backtrack)有许多问题,当需要找出它的解集或者要求回答什么解是满足某些约束条件的最佳解时,往往要使用回溯法。回溯法的基本做法是 搜索,或是一种组织得井井有条的,能避免不必要搜索的穷举式搜索法。这种方法适用于解一些组合数相当大的问题。回溯法在问题的解空间树中,按 深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一点时,先判断该结点是否包含问题的解。如果肯定不包原创 2017-10-06 15:52:16 · 1231 阅读 · 0 评论 -
研究生课程 算法分析-贪心法
贪心法的思想在求解一些最优化问题的时候,一般会分成多个步骤,每一步都有一个选择。贪心算法的思想在于,先不从整体考虑,每次都只做当前看来最优的思想,即局部最优解,期望通过一步步的局部最优解,最后构造出全局最优解。贪心算法是很多问题的最优解,当然也有很多问题只是局部最优,或者近似最优解,在构造贪心算法的时候,要注意贪心选择是否能求出最后的最优解。贪心算法的基本要素最优子结构性质一个原创 2017-10-06 15:49:59 · 557 阅读 · 0 评论 -
通过金矿模型介绍动态规划
点击下载01背包测试数据.rar 对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅读中发现有不通顺的地方,让你产生错误理解的地方,让你难得读转载 2017-10-06 15:27:04 · 394 阅读 · 0 评论 -
研究生课程 算法分析-动态规划
动态规划的思想上一篇博文讲了分治法,这一篇的动态规划思想有些接近,但是两者最大区别是,动态规划要解决的子问题往往不是独立的,子问题往往被重复求解了很多次。所以一个叫朴素的想法是,把每个子问题的答案都保存下来,从而避免大量的重复计算。这种方法是典型的以空间换取时间。动态规划的基本要素最优子结构性质最优子结构的性质指的是,问题的最优解包含着其子问题的最优解。利用该性质,自底向上递归地从原创 2017-10-06 14:45:46 · 429 阅读 · 0 评论 -
研究生课程 算法分析-分治法
分治法(divide and conquer)是算法分析里比较直观和朴素的思想,应用也很广泛。分治法的思想分治法的思想是,把一个复杂的问题 P 划分称 k 个子问题,这些子问题相互独立且与原问题相同。递归调用子问题,直到问题规模足够小,可以很容易地求解为止;接着,把小规模的问题的解合并成一个更大规模的问题的解。可以用下面的伪代码来描述,divide-and-conquer(P)原创 2017-10-06 14:33:09 · 554 阅读 · 0 评论 -
研究生课程 算法分析笔记
算法分析有四大经典的思想,分治法、贪心法、动态规划,最后一个是回溯法和分支限界法,后面会针对性都出一篇博客总结。这篇博文先总结一下除了四大算法之外的,杂七杂八的笔记。复杂度分析复杂度分析涉及一些比较麻烦的符号,主要是五个:上界符号 O,下界符号Ω,准确界Θ,非紧上界o,非紧下界ω,不过感觉主要用的多的还是上界符号O,理解一个,其他的符号也就好理解了。详细介绍如下。运原创 2017-10-06 14:25:22 · 1009 阅读 · 0 评论 -
算法第四版练习题答案
算法第4版练习题答案Algorithms 4th edition exercise answers.1FUNDAMENTALS1.2.13Transaction.javatransaction data type1.2.16Rational.javarational numb转载 2017-04-11 20:44:05 · 3313 阅读 · 0 评论