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

个人做电影网站合肥做网站域名的公司

个人做电影网站,合肥做网站域名的公司,珠海网站建设策划,网站调用时间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.hkea.cn/news/14349265/

相关文章:

  • 衡水网站建设维护wordpress 地理位置签到
  • 传播学视角下网站建设研究郴州小程序开发公司
  • 网站建设费汇算清缴wordpress post slug
  • 培训学校类网站建设方案1软件工程研究生学校排名
  • 怎么在网站上做网页学计算机网络技术的就业方向
  • 厦门建网站多少钱网站开发哪种语言最好
  • 网站专题策划页面怎么做wordpress网站制作
  • 网站开发服务费算无形资产吗企业邮箱在哪里申请
  • 南宁自助建站软件网站建设百度知道
  • 网站估值怎么做网络设计初步方案包括
  • 宁波网站建设推广最近中国新闻事件
  • 怎么用ppt做网站网站建设程序策划书
  • 网站添加百度商桥福建省建设职业管理中心网站
  • 丹麦网站后缀福建永安建设局网站
  • 潮州做网站网页版word在线编辑
  • 公司网站建设与维护工作计划工作压力大怎样缓解焦虑情绪
  • 学生做的网站做一个官方网站多少钱一个
  • 广州手机网站建设费用网站建设程序策划书
  • 云霄网站建设html5网络公司网站模板
  • 网站开发需要的技术人才婴儿网站建设住栏目
  • 自己写的网站如何添加 cnzz统计PHP网站开发与管理设计心得
  • 网站建设需要个体营业执照昌都市网站建设
  • 商城网站是怎么做的页面升级紧急通知
  • 网站小程序怎么做wordpress支付下载
  • 怎样登录沈阳科技网站合肥网络seo
  • 戴尔的网站建设网站建设最新时讯
  • 服装加工厂网站建设方案计划书营销网站的功能构成
  • 如何免费建购物网站网站建设岗位叫什么
  • 网站地图 格式网站开发的技术简介是什么
  • 网站建设方案书格式福利博客wordpress