算法与数据结构
文章平均质量分 61
常用算法
nphyez
我们只被自己定义!
展开
-
理解回溯法
理解回溯法溯的本质是穷举,穷举所有可能,然后选出我们想要的答案。回溯法解决的所有问题都可以抽象为树形结构!因为回溯法解决的都是在集合中递归查找子集,集合的大小就构成了树的宽度,递归的深度构成的树的深度。应用场景回溯法,一般可以解决如下几种问题:组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数的集合里有多少符合条件的子集排列问题:N个数按一定规则全排列,有几种排列方式棋盘问题:N皇后,解数独等等局限性耗时高,需要剪枝优化原创 2022-05-12 09:27:25 · 338 阅读 · 0 评论 -
深度优先搜索(DFS)和广度优先搜索(BFS)
DFS思想深度优先搜索类似于树的先序遍历,具体过程如下:准备工作:创建一个visited数组,用于记录所有被访问过的顶点。1.从图中v0出发,访问v0。2.找出v0的第一个未被访问的邻接点,访问该顶点。以该顶点为新顶点,重复此步骤,直至刚访问过的顶点没有未被访问的邻接点为止。3.返回前一个访问过的仍有未被访问邻接点的顶点,继续访问该顶点的下一个未被访问领接点。4.重复2,3步骤,直至所有顶点均被访问,搜索结束。代码模板void dfs()//参数用来表示状态 { if(原创 2020-08-09 16:28:13 · 417 阅读 · 0 评论 -
一次谷歌面试趣事
转自:http://www.aqee.net/google-interviewing-story/英文原文:http://paultyma.blogspot.com/2010/11/google-interviewing-story.html 很多年前我进入硅谷人才市场,当时是想找一份高级工程师的职位。如果你有一段时间没有面试过,根据经验,有个非常有用的提醒你应该接受,就是:你往往会在转载 2013-08-30 13:51:41 · 795 阅读 · 0 评论 -
算法复杂度
最好情况和最坏情况的时间复杂性是很难计量的,原因是对于问题的任意确定的规模N达到了Tmax(N)的合法输入难以确定,而规模N的每一个输入的概率也难以预测或确定。原创 2013-08-31 16:20:51 · 846 阅读 · 0 评论 -
接口文档的核心内容
接口文档,它的核心内容无非是接口,又可以拆分为接口的实现即算法,接口的表示即数据结构,从算法和数据结构两方面去理解一个接口文档,很容易理清文档的内容,并尽快掌握。原创 2014-01-07 15:53:01 · 982 阅读 · 0 评论 -
IP首部结构及组包算法分析
原创 2013-10-30 10:38:07 · 2130 阅读 · 0 评论