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