问题描述
二叉树是由n个结点的有限集合,该集合或者为空集,或者由一个根节点和两颗互不相交的、分别称为根节点的左子树和右子树的二叉树组成。
二叉树特征:每个结点最多只有两颗子树,即二叉树中结点的度最高不能超过2个,子树的左右顺序不能颠倒。
解决方案
遍历的口诀:
先序遍历,即先根再左再右;
中序遍历:即先左再根再右;
后序遍历:即先左再右再根
二叉树层次遍历问题Python代码
void level(BTNode *p){ int front,rear; BTNode *que[maxsize]; front = rear = 0; BTNode *q; if(p != NULL) { rear = (rear + 1)%maxsize; que[rear] = p; while(front != rear) { front = (front + 1)%maxsize; q = que[front]; Visit(q); if(q -> 1child != NULL) { rear = (rear +1)%maxsize; que[rear] = q -> 1child; } if(q -> rchild != NULL) { rear = (rear + 1)%maxsize; } } }} |
|---|
结语
本文描述了二叉树的定义和特征,并归纳了二叉树的遍历算法,总的来说二叉树的遍历只要记住口诀就挺好做的,难点在于它的python代码,我们这方面的知识点比较欠缺,希望在以后的学习中能逐渐突破自己。
主编:欧洋
作者:代婷婷、王梓霖、童弘宇
稿件来源:深度学习与文旅应用实验室(DLETA)