408真题解析-2009-3-数据结构-树-遍历方式

一 真题 2009-3

3 给定二叉树如右图所示。设N代表二叉树的根,L代表根节点的左子树,R代表根节点右子树。 若遍历后的结点序列是3,1,7,5,6,2,4,则其遍历方式是()

A. LRN B. NRL C. RLN D. RNL

二 题目解析

本题是根据二叉树图,以及遍历顺序考察遍历方式。

三 哔哔详解

突破思维定势:学习时,教材约定二叉树遍历时子节点是先左后右,所以有三种遍历方式 ,分别为先序NLR、中序LNR、后序LRN、但考试时,并没有这种约定,还有对应的NRL、RNL、RLN;

3.1 方法一 逐个选项尝试

按逐个选项遍历方式,将该二叉树遍历,比如D选项 RNL,则遍历顺序 3,1,7,5,6,2,4 显然符合;

3.2 方法二 相对位置法

观察一个结点A,其既有左儿子B,又有右儿子C,然后观察A\B\C 在已知遍历顺序里的相对位置,即可得出答案;比如根节点N=1,其左儿子L=2,右儿子R=3,在遍历顺序3,1,7,5,6,2,4,里相对位置 3,1,2即RNL为所求。

四 参考答案

参考答案: D

五 考点精析

5.1 二叉树遍历

二叉树的遍历由访问根节点(N)、遍历左子树(L)、遍历右子树(R)的顺序决定,常见的有前序(NLR)、中序(LNR)、后序(LRN)。本题考察其变体,如 RNL(右-根-左),即中序遍历的镜像。

六 考点追踪

暂无

相关推荐
琢磨先生David3 天前
Day1:基础入门·两数之和(LeetCode 1)
数据结构·算法·leetcode
qq_454245033 天前
基于组件与行为的树状节点系统
数据结构·c#
超级大福宝3 天前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode
岛雨QA3 天前
常用十种算法「Java数据结构与算法学习笔记13」
数据结构·算法
weiabc3 天前
printf(“%lf“, ys) 和 cout << ys 输出的浮点数格式存在细微差异
数据结构·c++·算法
wefg13 天前
【算法】单调栈和单调队列
数据结构·算法
岛雨QA3 天前
图「Java数据结构与算法学习笔记12」
数据结构·算法
czxyvX3 天前
020-C++之unordered容器
数据结构·c++
岛雨QA3 天前
多路查找树「Java数据结构与算法学习笔记11」
数据结构·算法
AKA__Zas3 天前
初识基本排序
java·数据结构·学习方法·排序