经典算法之回溯

今天来介绍经典算法中的回溯算法,这类算法是一种弱枚举(这里大家千万不要认为枚举很low,很多问题能够枚举出来还是万幸的)的算法,一般如果代码实现十分简单,但是真的思考出来还是有些难度的,因为一般使用递归实现,所以代码十分简洁,但是执行过程会让你十分痛苦,你即使在项目中打上断点追踪,最后很快就追丢了。所以本节咱们来列举几个经典问题,然后详细介绍一下这类问题的解决办法。组合给定两个整数 n 和 k,返

经典算法之动态规划

动态规划这东西呀,还是需要多多练习的。数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 当 n=3的时候,输出是这个样子的out=["((()))","(()())","(())()","()(())","()()(

轨迹挖掘(四)--基于geohash的临近搜索

引言在地理信息中,我们经常要做一个范围搜索,这个往往也是性能的瓶颈,今天我们就来介绍基于geohash的临近搜索。geohash首先我们来介绍什么是geohash,geohash简单来说是一种地理编码,就是你给我输入一个经纬度,我给你一个字符串编码。我们可以简单思考一下,如果让你做范围搜索,你怎么来

机器学习之ADMM算法

交替方向乘子法本文是继拉格朗日乘子以后有一个讲优化算法,建议先读完拉格朗日乘子然后阅读本文效果更佳。首先我们来考虑以下什么是优化问题,它的数学表达是怎么样的,如果阅读了上面这个博客,你能很好的回答的这个问题,最简单的表达实际上就是。$$min_x=f(x)$$其中$x$是优化变量,也就是可以改变的数值,通过调节$x$的大小,使得目标函数$f(x)$的数值达到最小。实际上对于上面的表达式,$min_

经典算法之树

面试问题常见的面试问题进行部分整理,可能没有权威性,但是还算经典吧。最大公约数和最小公倍数int gcd(int a,int b){ int min; int g; if(a<=0 || b <= 0)return -1; if(a > b) { min = b; } else { min = a; } while(min) { if(a % min == 0 &&

经典算法之链表

面试问题整理恍惚如昨日,自己也面试很多次,经常给别人说一些面试鬼论,这里就不说这些策略上的事情了,从毕业到现在对面试的问题也进行了部分整理,希望对大家有用。一张图首先看一张图,整理的很多常见的数据结构的复杂度,比较全。排序快速排序voidqsort(int*a,intleft,intright){i

PageRank 算法

Google的两位创始人都是斯坦福大学的博士生,他们提出的PageRank算法受到了论文影响力因子的评价启发。当一篇论文被引用的次数越多,证明这篇论文的影响力越大。正是这个想法解决了当时网页检索质量不高的问题。PageRank的计算过程最初pagerank算法是解决搜索引擎中的页面权重问题的,简而言

经典算法之图算法

图本章节主要介绍图相关的算法,例如图的深度搜索和广度搜索,这个在我们的生活中是十分常见的一个场景,例如迷宫,如何找到走出迷宫的路径等等。本文操作的基础图如下深度搜索classGraph(object):def__init__(self,graph={},start="s"):se

经典算法之查找算法

搜索本文会介绍一些常用的搜索算法,搜索在我们实际应用中十分普遍,例如数组查找元素,记事本搜索关键词等等。查找父类构建class Search(object): @abc.abstractmethod def search(self, arr, key): raise NotImplementedErrordef __init__(self, val ,left, righ

经典算法之排序算法

排序讲解使用什么语言作为demo?其实很多人讲解算法都使用的是java或者是C++,因为他们认为算法本身就是性能的质变,所以语言也要用尽可能快的语言(和我原来的思想很像),对于这个问题现在我是这样理解的,算法的核心是思想,你需要明白的也是思想,至于什么语言将来你使用的时候针对你的编程环境使用就好了,
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×