二叉树的最小高度,最大高度(深度)和宽度
Posted 等风来
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树的最小高度,最大高度(深度)和宽度相关的知识,希望对你有一定的参考价值。
最大高度
function getMaxHeight(root){ if(root == null){ return 0; } else{ var left = getMaxHeight(root.left); var right = getMaxHeight(root.right); return 1 + Math.max(left,right); } }
最小高度
function getMinHeight(root){ if(root = null){ return 0; } else{ var left = getMinHeight(root.left); var right = getMinHeight(root.right); return 1 + Math.min(left,right); } }
二叉树宽度
递归方法
function getMaxWidth(root){ if(root == null){ return 0; } else if(root.left == null && root.right == null){ return 1; } else{ return getMaxWidth(root.left) + getMaxWidth(root.right); } }
非递归方法
function getMaxWidth(root){ if(root == null){return 0} var queue = [], maxWidth = 1; queue.push(root); while(true){ var levelSize = queue.length; if(levelSize == 0){ break; } while(levelSize > 0){ var node = queue.shift(); levelSize--; if(node.left){ queue.push(node.left); } if(node.right){ queue.push(node.right); } } maxWidth = Math.max(maxWidth,levelSize); } return maxWidth; }
以上是关于二叉树的最小高度,最大高度(深度)和宽度的主要内容,如果未能解决你的问题,请参考以下文章