问问题描述
二叉排序树的asl公式,在线等,求秒回,真的很急!
答精选答案

对于二叉排序树的ASL算法
二叉排序树的特点是左孩子小于根节点,右孩子大于根节点
之前寻找博客上计算ASL的算法时,看到用的是设置一个max值来判断是否换层,遍历二叉排序树,若是大于max则是属于同一层,赋值给max,直到找到小于max的节点就是下一层,但是对于如果一层中只有最后一个节点(即这一层最大的节点)有右孩子,max值就一直是增加的,则不会换层
解决方法
使用一个父节点数组和队列,有孩子节点则加入父节点队列,存储每一层的父节点数,一层结束后输出前面的父节点,只留下该层最后一父节点,则可以判断一层结束;
若节点队列为空且当前节点无孩子,则整个二叉排序树结束。
本文来自作者[清越浅草ing]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/jiuyeqianjing/202609/1529637.html
评论列表(4条)
我是公众科技网的签约作者“清越浅草ing”!
希望本篇文章《二叉排序树的asl公式》能对你有所帮助!
本站[公众科技网]内容主要涵盖:教育咨询,知识百科
本文概览:对于二叉排序树的ASL算法二叉排序树的特点是左孩子小于根节点,右孩子大于根节点之前寻找博客上计算ASL的算法时,看到用的是设置一个max值来判断是否换层,遍历二叉排序树,若是大于max则是属于同一层,赋值给max,直到找到小于max的节点就是下一层,但是对于如果一层中只有最后一个节点(即这一层最大的节点)有右孩子,max值就一直是增加的,则不会换层解决方法使用一个父节点数组和队列,有孩子节点则加入父节点队列,存储每一层的父节点数,一层结束后输出前面的父节点,只留下该层最后一父节点,则可以判断一层结束;若节