关于在线社工库关闭的问题 TOOBUG博客自2016年开始与之前守夜人平台进行合作,充分利用守夜人平台的预警中心,为双方会员提供信息安全预警、账号行为分析、个人信息检索、人际关系分析、用户网络指纹记录、精准IP定位等...
作者 toobug 发布的文章
如何衡量算法的优劣? 对于同一个问题,可能有很多种解决的套路,这个解决问题的套路就是算法。比如有如下一个问题,1-100的和是多少 你可以能会写出如下方案 for (int i = 1; i <= 100; i++)...
热文排序:十大经典排序算法有哪些应用?
十大排序算法思路汇总 在面试的过程中经常会遇到手写排序算法,所以本文就简单总结一下。不对算法的细节做介绍,只做一个概括性的描述。 交换类:通过元素之间的两两交换来实现排序 插入类:将数分为2部分,依次将无序的数插入到...
为什么要学习算法? 相信很多人的答案是为了面试。因为普通开发工程师在工作中用到复杂算法的概率很低 那么面试官为什么要面试算法呢? 考算法的本质是考智商,算法学的好的同学智商都不会太差,智商高也就更容易解决工作中遇到的...
热文排序:如何手写堆排序?
堆 这篇文章我们来手写一下堆排序,首先我们来解释一下什么是堆? 堆是一种数据结构,需要满足如下几个特性 堆是一颗完全二叉树(生成节点的顺序是从左往右,从上往下依次进行) 堆中某个节点值总是不大于或者不小于其父节点的值...
热文回溯:就是一个遍历决策树的过程
从八皇后问题说起 八皇后问题是一个古老的非常有意思的问题。时间退回到1848年,国际西洋棋棋手马克斯·贝瑟尔提出了这样的一个问题 在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、...
应用场景 DFS和BFS都是对图进行遍历的算法(树的图的一种),二者的区别只是对图遍历的策略不同 DFS:按照一个方向遍历,直到不能遍历了,才换一个方向遍历。 BFS:从起点开始,依次对周边的节点进行遍历,遍历完再对...
解决问题的思路不同 递推和递归是常见的解决问题的思路,在很多算法中都会用到,例如DFS算法基于递归实现,动态规划算法基于递推实现。 递推是从上到下解决问题,如想知道一个国家有多少人,我们从村这个一个行政级别开始,依次...
面试必问的HashMap 我们在开发的过程中经常会用到HashMap来保存键值对,实现的主要思路,就是通过hash函数确定对应的key应该放在数组的哪个位置。 当要放的位置发生冲突时,就需要解决冲突,一般情况下有两种...
介绍 动态规划并不是一种具体的算法,而是一种思想,个人觉得就是缓存+枚举,把求解的问题分成许多阶段或者多个子问题,然后按顺序求解各子问题。前一子问题的解为后一子问题提供了有用的信息。在求解任一子问题时,列出各种可能的...
热文树:熟练手写树的四种遍历方式
树的四种遍历方式 树也是一种用来提高查询效率的数据结构(和哈希表类似)。例如MySQL中的索引就可以基于B+树或者哈希表构建,MongoDB用B树(也称为B-树)来实现索引。 很多关于树的面试题其实都不难,基本上是基...












