算法
文章平均质量分 55
weixin_53068653
这个作者很懒,什么都没留下…
展开
-
BFS广度优先搜索模板
BFS广度优先搜索模板 广度优先搜索,就是像水中涟漪一样像外扩散,要基于队列实现。同时在向外搜索的时候要标记已经搜索的元素。 模板一:节点一个一个地出栈,一颗子树一颗子树地入栈 //比较好的广度优先搜索模板 //一个节点一个节点地入队出队 void bfs(起始点){ 将起始点放入队列中; 标记起点访问; while(如果队列不为空){ 访问队列中队首的元素x;//这里一般是对元素进行处理 删除队首元素; for(x 的所有相邻点){原创 2022-04-24 12:33:54 · 1560 阅读 · 0 评论 -
池塘抽样算法 + 证明
池塘抽样算法 池塘抽样算法描述 在遍历数组时第cnt次遇到值为target 的元素时,取随机数与cnt求余,得到一个数,如果该数为0, 则将当前值为targer的元素的下标,赋值给ans,然后接着按上述方法继续遍历。最后得到的ans就是在该数组中值为target的元素的所有下标中的随机一个 证明过程: 首先在cnt = 1 时,所得的数必定为0,所以会进行首次给ans赋值. 而之后如果再次出现rand()%cnt == 0 时,则再次对ans 进行赋值,所以在遍历这个数之前不论ans的值是什么,都会被赋原创 2022-04-25 18:10:24 · 212 阅读 · 0 评论