一、题目 1、审题 2、分析 给出一棵二叉树,以“之"字形层序输出二叉树的结点值。 二、解答 1、思路: 方法一、 采用一个队列进行层次遍历,遍历每一层时,将每一层结点放入一个数组,用一个标志 flag 记录向左或向右的访问顺序,并将符合的层次的结点访问顺序记录在 List 中。 方法二、 采用递归 ...
分类:
其他好文 时间:
2018-09-30 14:48:19
阅读次数:
164
广度优先相当于对顶点进行分层,层次遍历。 在Graph.h中添加BFS函数: 测试程序如下: 广度优先的本质就是层次遍历。 结果如下: 小结: ...
分类:
其他好文 时间:
2018-09-27 23:58:20
阅读次数:
392
通用树结构是一种容器,里面装有数据元素,我们有遍历元素的需求。 非线性决定了树中的每个结点没有固定的编号方式。 将队列中队首的指针定义成遍历时的游标,根节点进入队列后,游标指向根节点。 队头元素弹出,队首的指针就指向了别的元素,这就相当于移动了游标。 添加遍历相关的程序: 测试程序如下: 结果如下: ...
分类:
其他好文 时间:
2018-09-23 14:58:50
阅读次数:
231
题目链接 https://leetcode.com/problems/binary tree level order traversal/description/ 题目描述 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如: 给定二叉树: [3,9,20,nul ...
分类:
其他好文 时间:
2018-09-18 11:19:08
阅读次数:
173
一、建立一个如下图所示的二叉树并打印出来。 图 1 它的前序遍历顺序为:621438 它的中序遍历顺序为:123468 它的后序遍历顺序为:134286 它的层次遍历顺序为:628143 二、二叉树的建立 由于二叉树的定义是递归的,所以用递归的思想建立二叉树是很自然的想法。 1. 以前序遍历的方式 ...
分类:
其他好文 时间:
2018-09-01 00:48:19
阅读次数:
132
一、二叉树的前序遍历: 二、二叉树的中序遍历: 三、二叉树的后序遍历: 四、二叉树的层次遍历: ...
分类:
其他好文 时间:
2018-08-31 15:45:35
阅读次数:
158
题目描述: 题目思路: 1.用结构链表来建树 2.用队列来实现层次遍历,当遍历到根节点时,将其子节点压入队列 ...
分类:
其他好文 时间:
2018-08-25 11:47:55
阅读次数:
145
一、二叉树的定义 二叉树(Binary Tree)的递归定义:二叉树要么为空,要么由根节点(root)、左子树(left subtree)和右子树(right subtree)组成,而左子书和右子树分别是一颗二叉树。注意,在计算机中,树一般是"倒置"的,即根在上,叶子在下。 二、二叉树的层次遍历 三 ...
分类:
其他好文 时间:
2018-08-20 13:09:43
阅读次数:
133
给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如:给定二叉树: [3,9,20,null,null,15,7], 返回其层次遍历结果: 思路:按层次遍历节点,我们需要将每层的节点按顺序存起来,这个时候用到了队列,先入先出,访问每个节点,顺便将这个节点的左右子树再 ...
分类:
其他好文 时间:
2018-08-04 15:42:16
阅读次数:
166