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

商城型外贸网站建设源代码怎么做网站

商城型外贸网站建设,源代码怎么做网站,水务公司网站建设方案,佛山新网站建设平台一、定义 什么是二叉树的最小深度? 二叉树的最小深度是指从根节点到最近的叶子节点的最短路径上的节点数。叶子节点是指没有子节点的节点。 举个例子: 1/ \2 3/ 4 这棵树的最小深度是 2,因为从根节点 1 到叶子节点 3 的路径最短&#x…

一、定义

什么是二叉树的最小深度?

二叉树的最小深度是指从根节点到最近的叶子节点的最短路径上的节点数。叶子节点是指没有子节点的节点。

举个例子:

     1/ \2   3/ 4

这棵树的最小深度是 2,因为从根节点 1 到叶子节点 3 的路径最短,只需要经过 1 和 3 两个节点。


深度优先搜索(DFS)的思路

深度优先搜索是一种遍历树的方法,它的特点是一条路走到底,直到遇到叶子节点或者无法继续前进时,再回溯到上一个节点,尝试其他路径。

用 DFS 求最小深度的步骤如下:

  1. 从根节点开始,递归地遍历它的左子树和右子树。

  2. 如果当前节点是叶子节点(即没有左子树和右子树),返回深度 1。

  3. 如果当前节点只有左子树或右子树,继续递归遍历存在的子树。

  4. 如果当前节点有左右子树,分别递归计算左右子树的最小深度,然后取较小的那个,再加上当前节点的深度 1。

  5. 最终返回最小深度


举个例子

假设我们有一棵树:

     1/ \2   3/ \4   5

用 DFS 计算最小深度的过程如下:

  1. 从根节点 1 开始,递归遍历左子树 2

    • 节点 2 是叶子节点,返回深度 1。

  2. 递归遍历右子树 3

    • 节点 3 有左右子树,递归遍历左子树 4

      • 节点 4 是叶子节点,返回深度 1。

    • 递归遍历右子树 5

      • 节点 5 是叶子节点,返回深度 1。

    • 节点 3 的最小深度是 min(1, 1) + 1 = 2

  3. 根节点 1 的最小深度是 min(1, 2) + 1 = 2

所以这棵树的最小深度是 2。

二,举例

计算该二叉树的最小深度:

            1/ \2   3/ \   \4   5   6\7
import javax.swing.tree.TreeNode;public class demo01 {public static void main(String[] args) {TreeNode node7 =new TreeNode(7,null,null);TreeNode node6 =new TreeNode(6,node7,null);TreeNode node5 =new TreeNode(5,null,null);TreeNode node4 =new TreeNode(4,null,null);TreeNode node3 =new TreeNode(3,node6,null);TreeNode node2 =new TreeNode(2,node4,node5);TreeNode node1 =new TreeNode(1,node2,node3);System.out.println(minDepth(node1));}public static int minDepth(TreeNode root) {if (root == null) {return 0;}if (root.left == null && root.right == null) {return 1;}int min=Integer.MAX_VALUE;if(root.left != null) {                      //左边节点不为空min=Math.min(minDepth(root.left),min);    //算出左边节点}if(root.right != null) {                        //左边节点不为空min=Math.min(minDepth(root.right),min);   //算出左边节点}return min+1;}static class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int val,TreeNode left,TreeNode right) {this.val = val;this.left = left;this.right = right;}}
}
http://www.dtcms.com/wzjs/803522.html

相关文章:

  • 在西部数码做的企业网站不能与阿里巴巴网站相连接西安哪家装修公司最放心
  • 中国建设银行网站的社保板块在哪知乎 网站建设
  • 深圳做物流网站广州建设工程交易网
  • 深圳建设网站上市php网站模板使用
  • 盐城做网站哪家最好可以在公司局域网做网站吗
  • 淄博网站建设推广优化奥美广告公司
  • 怎么让别人在百度搜到自己的网站资源网站的建设
  • 网站建设 方案 评价表建设一个旅游网站必备的
  • 如何网站建设策划方案房地产十大排名
  • 大学加强网站建设与管理的通知个人简历最佳范文
  • 域名和主机有了怎么做网站济南微网站开发
  • 做网站二级域名随便用吗永久免费个人网页申请
  • 哪有定制开发优化推广排名
  • 合肥建站网站开发商虚假宣传怎么赔偿
  • 沙漠风网站建设公司河北seo公司
  • 滨海做网站需要多少钱可以做网站的电脑软件
  • 网站建设 学习什么asp做的网站如何更新
  • 做外贸电商网站响应式网站开发遇到的问题
  • 做qq头像的网站有哪些网站开发公司报价
  • 惠州网站搭建西安今天刚刚发生的新闻
  • 做网站IP建设银行信用卡被钓鱼网站
  • 公司注册网站建设十里堡网站建设
  • 企业做网站价钱php网站下载器
  • 网站建设费一般是什么费用设计师服务平台台
  • 上海植物租赁做网站三明城乡建设网站
  • 怎样用阿里云建设网站wordpress插件开发教程 pdf
  • 佛山移动网站设计软装设计图 效果图
  • 一个最简单的产品展示的asp网站应该如何做首页百度
  • 网站建设方案功能做网站要找本地的吗
  • 内蒙古网站建设 阿里巴巴网页加速器推荐