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

内蒙古建信建设有限公司网站怎么把网站排名

内蒙古建信建设有限公司网站,怎么把网站排名,成都网站制作设计,提升学历广告朋友圈广度优先算法(BFS 算法) 广度优先算法#xff08;BFS#xff09;是一种图遍历算法#xff0c;用于在一个图中从给定的起始节点开始#xff0c;按照广度优先的顺序遍历图中的所有节点。它通过逐层遍历图中的节点#xff0c;先访问离起始节点最近的节点#xff0c;然后再依…广度优先算法(BFS 算法) 广度优先算法BFS是一种图遍历算法用于在一个图中从给定的起始节点开始按照广度优先的顺序遍历图中的所有节点。它通过逐层遍历图中的节点先访问离起始节点最近的节点然后再依次访问离起始节点更远的节点。 BFS的基本思想是使用队列来存储待访问的节点。首先将起始节点加入队列然后从队列中取出一个节点进行访问并将其未访问过的邻居节点加入队列。重复这个过程直到队列为空即所有节点都被访问过。 BFS算法的步骤如下 创建一个空队列将起始节点加入队列。创建一个空集合用于存储已访问过的节点。当队列不为空时执行以下操作 从队列中取出一个节点并将其标记为已访问。访问该节点并进行相应的操作。将该节点的未访问过的邻居节点加入队列。 重复步骤3直到队列为空。 BFS算法的时间复杂度为O(VE)其中V为节点数E为边数。由于需要遍历图中的所有节点和边因此时间复杂度与图的规模成正比。 BFS算法常用于解决以下问题 图的遍历可以用BFS算法遍历图中的所有节点。最短路径在无权图中BFS算法可以用于找到两个节点之间的最短路径。连通性问题可以用BFS算法判断图中两个节点是否连通或者找到图中的连通分量。 总之广度优先算法是一种简单而有效的图遍历算法可以用于解决多种问题。在实际应用中我们可以根据具体问题的需求灵活运用BFS算法来解决各种图相关的问题。 其实 BFS 算法就是回溯算法通常采用队列进行操作。 问题描述1 给定一个二叉树找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明叶子节点是指没有子节点的节点。 实现代码1 /*** 树的最小深度** param treeNode 树根节点* return 最小深度*/public static int minDepth(TreeNode treeNode) {QueueTreeNode treeNodeQueue new LinkedList();treeNodeQueue.offer(treeNode);int step 1;while (!treeNodeQueue.isEmpty()) {int size treeNodeQueue.size();for (int i 0; i size; i) {TreeNode curr treeNodeQueue.poll();if (curr.left null curr.right null) {return step;}if (curr.left ! null) {treeNodeQueue.add(curr.left);}if (curr.right ! null) {treeNodeQueue.add(curr.right);}}step;}return 0;}问题描述2 你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字 ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ 。每个拨轮可以自由旋转例如把 ‘9’ 变为 ‘0’‘0’ 变为 ‘9’ 。每次旋转都只能旋转一个拨轮的一位数字。 锁的初始数字为 ‘0000’ 一个代表四个拨轮的数字的字符串。 列表 deadends 包含了一组死亡数字一旦拨轮的数字和列表里的任何一个元素相同这个锁将会被永久锁定无法再被旋转。 字符串 target 代表可以解锁的数字你需要给出解锁需要的最小旋转次数如果无论如何不能解锁返回 -1 。 实现代码1 /*** 打开锁最小次数** param deadends 黑名单* param target 目标数字* return 最小次数*/public static int openLock(String[] deadends, String target) {QueueString queue new LinkedList();SetString visited new HashSet();SetString deadendSet new HashSet();for (String s : deadends) {deadendSet.add(s);}queue.offer(0000);visited.add(0000);int step 0;while (!queue.isEmpty()) {int size queue.size();for (int i 0; i size; i) {String curr queue.poll();if (deadendSet.contains(curr)) {continue;}if (target.equals(curr)) {return step;}for (int j 0; j 4; j) {queue.offer(up(curr, j));queue.offer(down(curr, j));}}step;}return -1;}/*** curr第j位向上加** param curr 当前数字* param j 位数从0开始* return 调整后数字*/private static String up(String curr, int j) {char[] arr curr.toCharArray();if (arr[j] 9) {arr[j] 0;} else {arr[j] (char) (arr[j] 1);}return new String(arr);}/*** curr第j位向上减** param curr 当前数字* param j 位数从0开始* return 调整后数字*/private static String down(String curr, int j) {char[] arr curr.toCharArray();if (arr[j] 0) {arr[j] 9;} else {arr[j] (char) (arr[j] - 1);}return new String(arr);}
http://www.zqtcl.cn/news/633654/

相关文章:

  • WordPress网站修改志成网站设计制作
  • 做网站需要注意的昭通网站seo优化
  • 站群软件lanyun网站开发
  • 固始网站制作html美食网页设计源码
  • 软件研发过程管理岳阳seo
  • 舟山网站建设代理门户网站建设流程
  • 天水建设银行网站网站建设方案免费下载
  • 长城宽带魔方优化大师官网下载
  • 宁波建设工程主管部门网站长沙网站维护
  • 网站推广机构我的世界怎么做赞助网站
  • 做网站的公司图sae wordpress storage
  • 做塑料的网站有哪些东道设计公司待遇如何
  • 烟台做网站哪家好网站加速器下载
  • 哪些网站是响应式河北省住房和城乡建设厅信用网站
  • 彩票网站html模板新闻html网页设计代码范文
  • 建网站视频怎么建网站卖产品
  • 做翻糖的网站深圳做购物网站
  • 国外界面设计网站海淘网站
  • 全国住房城乡建设厅网站wordpress 宽版
  • 网站建设实训意见中国建设人才信息网站
  • 如何给网站做301跳转中国做机床的公司网站
  • 网站建设课程体系济南建站详情
  • jsp网站空间网站开发北京 广告 手机网站
  • 郑州网站建设推广爱站网seo综合查询工具
  • 2017年网站开发用什么语言手游排行榜
  • 鞍山百度网站怎么制作建设部网站建造师公示
  • 建设部网站业绩补录营销型网站制作的方法
  • 建设网站的功能及目的是什么意思兰州网络优化seo
  • 用ps软件做ppt模板下载网站有哪些内容广州seo服务外包
  • 毕业设计论文网站开发需要多少湛江建站免费模板