正在载入在线练习界面,本页内容可直接阅读…

AK CSP › CSP-J 2022 第一轮真题 › 第 8 题

CSP-J 2022 第一轮 第 8 题:完全二叉树数组存储求兄弟与子节点位置

单项选择 · 树与二叉树 · 难度 较难 · 答案 C

题目

一棵有 $n$ 个结点的完全二叉树用数组进行存储与表示,已知根结点存储在数组的第 $1$ 个位置。若存储在数组第 $9$ 个位置的结点存在兄弟结点和两个子结点,则它的兄弟结点和右子结点的位置分别是( )。
CSP-J 2022 第一轮 第 8 题 原题
原题扫描(页面加载后可直接在线作答)

选项

  • A. $8$、$18$
  • B. $10$、$18$
  • C. $8$、$19$
  • D. $10$、$19$

答案

C

题解

选 C:$8$、$19$。

完全二叉树按层从左到右存入数组,根结点下标为 $1$ 时,下标为 $i$ 的结点:

  • 左子结点下标为 $2i$;
  • 右子结点下标为 $2i+1$;
  • 偶数下标的结点是左孩子,兄弟下标为 $i+1$;奇数下标的非根结点是右孩子,兄弟下标为 $i-1$。

因此,第 $9$ 个位置的结点是右孩子:

  • 兄弟结点位置:$9-1=\boxed{8}$;
  • 右子结点位置:$2\times9+1=\boxed{19}$。

真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1 京公网安备11010502062986号