- 博客(77)
- 问答 (1)
- 收藏
- 关注
原创 评判一篇技术博客价值的标准一些个人见解
1.将复杂的问题简单化: 勤劳的牛人: 把原本复杂的问题,简单化,可以得到更多的观众关注度,因为只有越简单的方式解释越复杂的问题,才能有更多的读者来去读且读懂,如果很多关键性问题的研究一笔带过,且认为显而易见,那么说明该论文或者程序解释得不够清楚,排除作者有意隐藏的技术点外,还说明了该作者在关键问题上的认知度不够,对关键性问题结点含糊不清,这样会大大减低读者对该篇博客
2017-11-08 10:40:01 733
转载 常见算法在实际项目中的应用
转自:常见算法在实际项目中的应用近日Emanuele Viola在Stackexchange上提了这样的一个问题,他希望有人能够列举一些目前软件、硬件中正在使用的算法的实际案例来证明算法的重要性,对于大家可能给到的回答,他还提出了几点要求:使用这些算法的软件或者硬件应该是被广泛应用的;例子需要具体,并给出确切的系统、算法的引用地址;在经典的本科生或者博士的课程中应该教过这些算法或者
2017-04-13 08:28:16 1518
转载 常见数据结构应用场景
通用数据结构可以简单的按照速度将通用数据结构划分为:数组和链表(最慢),树(较快),哈希表(最快)。增、删、改、查是四大常见操作,不过其实可以浓缩为两个操作:增和查。删除操作和和修改操作都是建立在查找操作上的,所以完美的数据结构应该是具有较高的插入效率和查找效率。通用数据结构关系可以根据下图选择合适的通用数据结构:数组使用场景数组在以下三个情
2017-04-13 07:42:17 12611
翻译 蒙特卡洛树搜索介绍
2015年9月7日周一 由Jeff Bradberry留 与游戏AI有关的问题一般开始于被称作完全信息博弈的游戏。这是一款对弈玩家彼此没有信息可以隐藏的回合制游戏且在游戏技术里没有运气元素(如扔骰子或从洗好的牌中抽牌), 井字过三关,四子棋,跳棋,国际象棋,黑白棋和围棋用到了这个算法的所有游戏。因为在这个游戏类型中发生的任何事件是能够用一棵树完全确定,它能构建所有可能的结果
2016-04-03 12:41:13 17067
原创 算法导论第十五章动态规划
概述:动态规划是通过组合子问题的解而解决整个问题的。动态规划适用于子问题不是独立的情况,也就是各子问题的包含公共的子子问题。动态规划对每个子问题只求解一次,将其结果保存在一张表中。动态规划通常用于最优化问题。动态规划的设计步骤:a.描述最优解的结构b.递归定义最优解的值c.按自底向上的方式计算最优觖的值d.由计算出的结构构造一个最优解15.1钢条切割
2014-08-18 13:39:25 25228 2
转载 ACM的你伤不起!!!
转载的,写得太真实了!!! 劳资六年前开始搞ACM啊!!!!!!!!!! 从此踏上了尼玛不归路啊!!!!!!!!!!!! 谁特么跟劳资讲算法是程序设计的核心啊!!!!!! 尼玛除了面试题就没见过用算法的地方啊!!!!!! 谁再跟劳资讲算法之美算法的力量,劳资一本算法导论拍死你啊!!!!!!!! 那是搞ACM的入门书啊!!!!特么的入门书就一千多页啊!!!!
2014-08-18 12:27:02 1002
原创 动态规划之编辑距离
思考:我们可以从题目中给出的6种操作描述,找到递归式,比如复制操作是i和j都增加1。那么递归式就是c[i][j]=c[i-1][j-1]+cost[COPY]。c[i][j]表示从字符串i复制到字符串j所需要的总代价。其他操作类似。递归式如下:代码如下:#include using namespace std;enum {COPY,REPLACE,DELETE,INSERT,TWI
2014-08-18 11:50:47 2202
原创 动态规划之投资策略规划
你所掌握的算法知识帮助你从Acme计算机公司获得了一份令人兴奋的工作,签约奖金1万美元。你决定利用这笔钱进行投资,目标是10年后获得最大回报。你决定请Amalgamated投资公司管理你的投资,该公司的投资回报规则如下。该公司提供n种不同的投资,从1~n编号。在第j年年底,比你会得到drij美元。回报率是有保证的,即未来10年每种投资的回报率均已知。你每年只能做出一次投资决定。在每年年底,你既可以
2014-08-17 21:55:56 3486
原创 动态规划之字符串拆分
某种字符串处理语言允许程序员将一个字符串拆分为两段。由于此操作需要复制字符串,因此要花费n个时间单位来将一个n个字符的字符串拆为两段。假定一个程序员希望将一个字符串拆分为多段,拆分的顺序会影响所花费的总时间。例如,假定这个程序员希望将一个20个字符的字符串在第2个,第8个以及第10个字符后进行拆分(字符由左至右,从1开始升序编号)。如果她按由左到右顺序进行拆分,则第一次拆分花费20个时间单位,第二
2014-08-16 11:55:34 6820 4
原创 动态规划之签约棒球自由球员
假设你是一支棒球大联盟球队的总经理。在赛季休季期间,你需要签入一些自由球员。球队老板给你的预算为X美元,你可以使用少于X美元来签入球员,但如果超支,球队老板就会解雇你。 你正在考虑在N个不同位置签入球员,在每个位置上,有P个该位置的自由球员供你选择。由于你不希望任何位置过于臃肿,因此每个位置最多签入一名球员(如果在某个特定位置上你没有签入任何球员,则意味着计划继续使用
2014-08-15 19:36:52 3216 1
原创 动态规划之基于接缝裁剪的图像压缩
给定一副彩色图像,它由一个mxn的像素数组A[1..m,1..n]构成,每个像素是一个红绿蓝(RGB)亮度的三元组。假定我们希望轻度压缩这幅图像。具体地,我们希望从每一行中删除一个像素,使得图像变窄一个像素。但为了避免影响视觉效果,我们要求相邻两行中删除的像素必须位于同一列或相邻列。也就是说,删除的像素构成从顶端行到底端行的一条“接缝”(seam),相邻像素均在垂直或对角线方向上相邻
2014-08-14 18:55:11 3750
原创 大整数的加减乘除
多项式的加减乘除可以利用多项式的加减乘除进行运算,所以以下程序采用了多项式的加减乘除。多项式运算已经在《算法导论》第30章有简要的介绍,具体的请参考数学书。大整数加法:(利用书上公式轻松得出)//多项式加法-大数加法#include #include using namespace std;#define m1 4#define m2 5//a[0]=x^0 a[1]=x^1.
2014-04-28 10:52:45 2427
原创 算法导论第十一(11)章散列(Hash)表
11.1直接寻址表关键字集合U = { 0, 1, ..., m - 1 },实际的关键字集合K。用一个数组T[0..m - 1],其中每个位置对应U中的一个关键字k。把关键字k映射到槽T(k)上的过程称为散列。散表表仅支持INSERT、SEARCH、DELETE操作。11.1-1假设一动态集合S用一个长度为m的直接寻址表T表示。请给出一个查找S中最大元素的过程。你所给的过
2014-03-16 18:26:57 7689
原创 用链表表示的可合并最大堆
相关问题:(利用链表实现可合并堆) 可合并堆支持以下操作:MAKE-HEAP(创建一个空的可合并堆),INSERT,MAXIMUM,EXTRACT-MAX和UNION。说明在下列前提下如何用链表实现可合并堆。试着使各操作尽可能高效。分析每个操作按动态集合规模的运行时间。由于对于堆操作需要查找父结点,以及左右孩子结点,所以本程序中用到了非递归非辅助栈的遍历与查找操作,它需要O(nlgn)时间,
2014-03-13 16:30:03 2351 3
空空如也
openCV 扩展包 安装 cuda 无法解析
2017-07-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人