当前位置: 首页 > news >正文

做i网站企业网站 案例

做i网站,企业网站 案例,wordpress表单上传多个文件,wordpress如何换图片BFS的基本概念 BFS 是广度优先搜索#xff08;Breadth-First Search#xff09;的缩写#xff0c;是一种图遍历算法。它从给定的起始节点开始#xff0c;逐层遍历图中的节点#xff0c;直到遍历到目标节点或者遍历完所有可达节点。 BFS 算法的核心思想是先访问当前节点的…BFS的基本概念 BFS 是广度优先搜索Breadth-First Search的缩写是一种图遍历算法。它从给定的起始节点开始逐层遍历图中的节点直到遍历到目标节点或者遍历完所有可达节点。 BFS 算法的核心思想是先访问当前节点的所有邻居节点然后再访问邻居节点的邻居节点依此类推直到遍历完整个图。 BFS 模版 BFS 使用队列Queue数据结构来辅助实现它按照先进先出FIFO的顺序管理待访问的节点。用**集合Set**来辅助节点是否已经被访问算法的基本流程如下 将起始节点放入队列中并标记为已访问。从队列中取出一个节点访问该节点,判断该节点是否符合条件。将该节点的所有未访问过的邻居节点加入队列并标记为已访问。重复步骤 2 和步骤 3直到队列为空。 模版1不必记录深度 function BFS(start, target) {const queue []; // 核心数据结构const visited new Set(); // 避免走回头路// 将起始节点放入队列中并标记为已访问。queue.push(start); visited.add(start);while (queue.length 0) {const sz queue.length;const cur queue.shift();/* 划重点这里判断是否到达终点 */if (cur target)return step;/* 将 cur 的所有未访问过的邻居节点加入队列并标记为已访问。 */for (const x of cur.adj()) {if (!visited.has(x)) {queue.push(x);visited.add(x);}}} }模版2需要记录深度的 function BFS(start, target) {const queue []; // 核心数据结构const visited new Set(); // 避免走回头路// 将起始节点放入队列中并标记为已访问。queue.push(start); visited.add(start);let step 0; // 记录扩散的步数while (queue.length 0) {const sz queue.length;/* 将当前队列中的所有节点向四周扩散 */for (let i 0; i sz; i) {const cur queue.shift();/* 划重点这里判断是否到达终点 */if (cur target)return step;/* 将 cur 的所有未访问过的邻居节点加入队列并标记为已访问。 */for (const x of cur.adj()) {if (!visited.has(x)) {queue.push(x);visited.add(x);}}}/* 划重点更新步数在这里 */step;} }BFS 算法通常用于以下场景 寻找两个节点之间的最短路径。在树或图中寻找特定深度或层级的节点。检查图是否是连通的。拓扑排序。解决迷宫问题等。 例题 111 二叉树的最小深度 给定一个二叉树找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明叶子节点是指没有子节点的节点。 var minDepth function(root) {if(root null){return 0;}// 记录深度let step 0;// BFS关键数据结构let queue [];let visited new Set();queue.push(root);visited.add(root);while(queue.length 0){let size queue.length;for(let i 0;isize;i){/* 划重点这里判断是否到达终点 */let node queue.shift();if(node.left null node.right null){return step1;}/* 将 cur 的所有未访问过的邻居节点加入队列并标记为已访问。 */if(node.left ! null !visited.has(node.left)){queue.push(node.left);visited.add(node.left);}if(node.right ! null !visited.has(node.right)){queue.push(node.right);visited.add(node.right);}}step;}return step; };863.二叉树中所有距离为 K 的结点 给定一个二叉树具有根结点 root 一个目标结点 target 和一个整数值 k 。 返回到目标结点 target 距离为 k 的所有结点的值的列表。 答案可以以 任何顺序 返回。 思路 需要我们在树中寻找特定深度或层级的节点但是又不是从根节点开始因此需要我们将树 转化成 图。 可以通过哈希表和DFS将树转化成图 var distanceK function(root, target, k) {// 起点是target先通过哈希表DFS将树转化成图const parents getParents(root);// 结果数组let ans []// BFS关键数据结构let queue []const visited new Set()queue.push(target);visited.add(target.val);// 记录深度let step 0;while(queue.length){// 遍历每一层的节点const len queue.length;for(let i 0;ilen;i){// 判断当前节点是否符合条件。const node queue.shift();if(step k){ans.push(node.val);}// 将相邻的节点都放入到if(node.left !visited.has(node.left.val)){queue.push(node.left);visited.add(node.left.val);}if(node.right !visited.has(node.right.val)){queue.push(node.right);visited.add(node.right.val);}if(parents.has(node.val) !visited.has(parents.get(node.val).val)){queue.push(parents.get(node.val));visited.add(parents.get(node.val).val);}}// 遍历完一层后深度1step;}return ans;};function getParents(root) {const parents new Map();const findParents (root) {if (root.left) {parents.set(root.left.val, root);findParents(root.left);}if (root.right) {parents.set(root.right.val, root);findParents(root.right);}};findParents(root);return parents; }
http://www.dnsts.com.cn/news/176226.html

相关文章:

  • 爱墙 网站怎么做唐山哪里做网站
  • 建设网站的政策风险分析权威网站发布平台
  • 怎么做外围网站代理杭州公司注册地址最新要求
  • 网站的ftp帐号建设工程施工合同2017
  • 购物网站有哪些模块wordpress程序分析
  • 织梦高端大气网站模板兰州口碑营销
  • 做定制网站怎么样有什么比wordpress好的
  • 无锡网站设计无锡网站建设金启网站建设
  • 首页有动效的网站深圳手机端网站建设专业
  • 建设企业网站中国建设银行wordpress菜单调用图片
  • 长沙自动化网站建设网上学编程哪个培训班最好
  • html网页制作参考文献网站做优化是什么意思
  • c2c网站的特点个人养老保险12000元
  • 怎么开通网站平台企业策划工作内容
  • 检察院门户网站建设方案深圳微信建网站
  • 网页设计作品到哪个网站做网站时怎么添加动态信息
  • 电子商务网站建设与管理课件企业网站自己怎么做
  • 上海网站建设的价格九江公司网站建设
  • 长春专业网站建设公司排名西安网站建设公司咪豆
  • 柳州公司网站建设网页设计在哪里接单
  • 网站建设专业开发公司wordpress 主题阁
  • 爱站网关键词密度餐饮o2o平台有哪些
  • 壁画网站建设电子商务网站业务流程
  • 广东网站建设seo优化公司介绍ppt制作模板
  • 网站网站开发网络科技公司logo设计
  • 网站建设wapwordpress文章数据包
  • 苏州建站公司哪个好送菜网站制作
  • 网站托管费用 优帮云外链建设对网站的影响
  • 深圳宝安外贸网站建设公司战事新闻最新
  • 西安做网站找哪家公司好做网站准备什么软件