首页 > 编程知识 正文

二叉树是什么时候学的(非完全二叉树什么意思)

时间:2023-05-03 14:23:33 阅读:65972 作者:997

横移记不住、做不到,前相横移中相横移后相横移层序遍历

9月24日的考试又没写

想法:二叉树分为多层。 因为是按层次进行遍历,所以如果直接采用函数递归,就会一下子进入层次的底部,无法实现每个层次的目的。 于是换个角度,队列

对根节点a进行排队。 此时,队列从a开始,队列头部从a开始。 对当前队列标头元素a的左儿子和右儿子进行排队。 即,将B E排队。 此时,队列在B E中重复两个步骤。 a进制、a进制、BE进制、b进制、CD进制、e进制、f进制、c出制、d出制、f退出条件,队列为所有节点都进去队列一次,然后再出队列一次,就是按层遍历,这个队列是动态的,只要有子节点,子节点就会不停的加入队尾,但总有子节点没有的时候,队列空了就结束了

publiclistintegerlevelorder (treenode root ) { queue treenode que=new linked list ); //层序遍历得分队列ListInteger list=new ArrayList (; //结果保存val que.add (根)的//A节点进入队列并返回while (! que.isEmpty () /如果整个队列为空(//int size=que.size ) ); //固定每层的个数。 因为que总是在变化//for(intI=0; i size; I ()//当前层次的数据TreeNode tmp=que.poll ); //A节点退出队列,后面是队列IF(TMP!=null () /不为空时,存储在结果val中,左右子树为队列list.add(tmp.val ); QUE.add(tmp.left ); QUE.add(tmp.right ); } system.out.println (列表); 返回列表; }反复练习

102 .二叉树层序遍历

107 .二叉树层序遍历

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。