树的BFS:广度优先搜索,层次遍历的实现步骤
BFS是树的经典遍历方法,按“广度优先”(层次)访问节点,核心依赖队列(FIFO)实现。其步骤为:初始化队列(根节点入队),循环取出队首节点访问,将左、右子节点(或子节点自然顺序)入队,直至队空。 BFS适用于树的层次关系问题,如计算树高、判断完全二叉树、求根到叶最短路径等。以二叉树 `1(2(4,5),3)` 为例,层次遍历顺序为1→2→3→4→5。 关键点:队列确保层次顺序,子节点入队顺序(左→右),时间复杂度O(n)(n为节点数),空间复杂度O(n)(最坏队列存n/2节点)。掌握BFS可高效解决层次问题,为复杂算法奠基。
阅读全文二叉树:二叉树的三种遍历方式,递归实现超简单
这篇文章介绍了二叉树的三种经典遍历方式(前序、中序、后序),基于递归实现,核心是明确根节点的访问位置。 二叉树每个节点最多有左右子树,遍历即按特定顺序访问节点。递归是关键,类似“套娃”,函数自调用且范围缩小,直到遇到空节点终止。 三种遍历顺序区别:前序(根→左→右)、中序(左→根→右)、后序(左→右→根)。以示例树(根1,左2,右3;2的左4,右5)为例: - 前序遍历结果:1 2 4 5 3; - 中序遍历结果:4 2 5 1 3; - 后序遍历结果:4 5 2 3 1。 递归实现核心:终止条件(空节点返回)+ 按遍历顺序递归左右子树。通过明确根位置和递归逻辑,可清晰理解遍历过程。
阅读全文树的遍历怎么学?前序、中序、后序遍历轻松理解
树是基础数据结构,遍历是访问所有节点的过程。文章重点讲解二叉树的前序、中序、后序遍历,核心区别在于访问根节点的时机。 前序遍历(根→左→右):先访问根,再递归左子树,最后右子树。例:1→2→4→5→3→6→7。 中序遍历(左→根→右):先递归左子树,再访问根,最后右子树。例:4→2→5→1→6→3→7。 后序遍历(左→右→根):先递归左子树,再右子树,最后访问根。例:4→5→2→6→7→3→1。 记忆口诀:前序根在前,中序根在中,后序根在后。应用上,前序用于复制树,中序对二叉搜索树排序,后序用于删除节点。遍历本质是递归思想,掌握顺序和场景即可熟练。
阅读全文手把手教你画二叉树:数据结构入门第一课
二叉树是数据结构基础,每个节点最多有左、右两个子节点,无后代的节点为叶子。核心术语包括:根节点(顶层起点)、叶子节点(无子节点)、子节点(父节点的下一层节点)、左右子树(节点的左/右子树及后代)。 构建时从根节点开始,逐步添加子节点,最多两层分支,不可超过两个子节点,子节点位置需有序(左/右有别)。判断二叉树需满足:每个节点≤2个子节点,且子节点位置明确。 遍历方式有前序(根→左→右)、中序(左→根→右)、后序(左→右→根)。画树是理解核心,直观展现节点关系,为堆、红黑树等复杂结构及算法(排序、查找)奠基。
阅读全文