8. 一棵有n个结点的完全二叉树用数组进行存储与表示,已知根结点存储在数组的第1个位置。若存储在数组第9个位置的结点存在兄弟结点和两个子结点,则它的兄弟结点和右子结点的位置分别是( )。
A. 8、18
B. 10、18
C. 8、19
D. 10、19
背景知识:
二叉树
叉树(Binary Tree)是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根节点和两棵互不相交的、分别称为根节点的左子树和右子树的二叉树组成。
满二叉树
在一棵二叉树中。如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树。
完全二叉树
对一棵具有n个结点的二叉树按层编号,如果编号为i(1<=i<=n)的结点与同样深度的满二叉树中编号为i的结点在二叉树中位置完全相同,则这棵二叉树称为完全二叉树。
数组
数组(Array)是一种复合数据类型,它由一系列相同类型的元素(Element)组成,数组中的元素通过下标(或称为索引,Index)来访问。
知识点分类:
数据结构-简单树-二叉树的定义及其基本性质
答案解析:
可以直接画出二叉树,然后去找到相应位置的兄弟节点和右子节点的位置:
兄弟结点为:8;右子结点为19。
所以本题的正确答案应该选C。