python程序二叉树最大深度(怎样求二叉树的深度用python)

技术如何找出python二叉树的最大深度这期内容当中小编将会给大家带来有关如何找出python二叉树的最大深度,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1,问题简述 给定一

本期,边肖将为您带来关于如何找出python二叉树最大深度的信息。文章内容丰富,从专业角度进行分析和描述。希望你看完这篇文章能有所收获。

1.问题的简要描述

给定一棵二叉树,找出它的最大深度。二叉树的深度是从根节点到最远叶节点的最长路径上的节点数。描述:叶节点是指没有子节点的节点。

2 .示例

给定二叉树[3,9,20,null,null,15,7],3/\ 9 20/\ 15 7返回其最大深度3。

3、解决思路

按照递归的方法,根据队列的特点也用另一种方法来解决问题,但是队列的耗时方法是相当明显的。

4、问题解决程序

导入Java . util . LinkedList;导入Java . util . queue;公共类MaxDepthTest2 { public static void main(String[]args){ tree node t1=new tree node(3);TreeNode t2=新的tree node(9);TreeNode t3=新的tree node(20);TreeNode t4=新的tree node(15);TreeNode t5=新的tree node(7);t1.left=t2t1.right=t3t3.left=t4t3.right=t5int MaxDepth=MaxDepth 3(t1);system . out . println(' MaxDepth=' MaxDepth ');} public static int MaxDepth(TreeNode root){ if(root==null){ return 0;}返回Math.max(maxDepth(root.left),MaxDepth(root . right))1;} public static int maxDepth3(TreeNode root){ if(root==null){ return 0;} QueueTreeNode queue=new LinkedList();queue . add(root);int level=0;while(!queue . isempty()){ int size=queue . size();水平;for(int I=0;一、尺寸;I){ tree node tree node=queue . poll();if (treeNode.left!=null){ queue . add(TreeNode . left);} if (treeNode.right!=null){ queue . add(TreeNode . right);} } }返回级别;}}

5.问题解决程序的图片版本

如何找出python二叉树的最大深度

二叉树的最大深度很常见。在这里,我给出两种解决方法。一种是利用系统栈的内容,通过递归求解,另一种是根据队列的特点求解。在这里,我会根据自己的喜好来解决,但是我想说的这张图特别漂亮。

这就是如何找出上面边肖分享的python二叉树的最大深度。如果你恰好也有类似的疑惑,可以参考上面的分析来理解。想了解更多,请关注行业信息渠道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/144275.html

(0)

相关推荐

  • GET和POST两种基本请求方法的区别有哪些

    技术GET和POST两种基本请求方法的区别有哪些本篇内容主要讲解“GET和POST两种基本请求方法的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“GET和POST两

    攻略 2021年10月27日
  • csgo国服下载,怎么区分csgo国服和国际服

    技术csgo国服下载,怎么区分csgo国服和国际服1、首先,我们需要在计算机上找到steam的引导端,然后单击打开它csgo国服下载。2、复制后,我们需要输入之前已经在STEAM购买过CSGO的游戏账号。3、进入到STE

    生活 2021年10月28日
  • 如何实现VB.NET文件流读、写类文件

    技术如何实现VB.NET文件流读、写类文件这篇文章主要介绍如何实现VB.NET文件流读、写类文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!VB.NET文件流代码:Option Explicit

    攻略 2021年12月2日
  • 编程中常用正则表达式有哪些

    技术编程中常用正则表达式有哪些这篇文章将为大家详细讲解有关编程中常用正则表达式有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、校验数字的表达式1 数字:^[0-9]*$2 n位

    攻略 2021年11月23日
  • Elasticsearch Java Client版本区别及起步是什么

    技术Elasticsearch Java Client版本区别及起步是什么这期内容当中小编将会给大家带来有关Elasticsearch Java Client版本区别及起步是什么,文章内容丰富且以专业的角度为大家分析和叙

    攻略 2021年10月19日
  • MySQL多版本并发控制机制源码分析

    技术MySQL多版本并发控制机制源码分析本篇内容主要讲解“MySQL多版本并发控制机制源码分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL多版本并发控制机制源码分

    攻略 2021年12月3日