二叉树以二叉链表存储,若指针p指向二叉树的根结点,经过运算s=p;while(s->rchild)s=s->rchild后,则()。
A: s指向二叉树的最右下方的结点
B: s指向二叉树最左下方的结点
C: s指向根结点
D: s为NULL
A: s指向二叉树的最右下方的结点
B: s指向二叉树最左下方的结点
C: s指向根结点
D: s为NULL
举一反三
- 二叉排序树采用二叉链表存储,结点结构为:lchild|data|rchild,指针lchild和rchild分别指向结点的左右孩子结点。令T指向根结点,则求T的左子树上最大的结点算法的核心语句是( )。 A: if (T) { s=T->lchild;if (s) { while(s->rchild) s=s->rchild; }}return s; B: if (T) { s=T->rchild;if (s) { while(s->rchild) s=s->rchild; }}return s; C: if (T) { s=T->rchild;if (s) { while(s->lchild) s=s->lchild; }}return s; D: if (T) { s=T->lchild;if (s) { while(s->lchild) s=s->lchild; }}return s;
- 将一棵三叉树转为二叉树,利用二叉链表存储树,则根结点的右指针是()。 A: 指向最左孩子 B: 指向最右孩子 C: 空 D: 非空
- 一棵具有n个结点的二叉树,采用二叉链表存储,则二叉链表中指向孩子结点的指针有_________个。
- 若一棵有n个结点的二叉树采用二叉链表来存储,二叉链表结点结构为(lchild,data,rchild),则该二叉链表中有个空指针域。
- 设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被嵌入的结点X,则在结点A和结点B嵌入结点X的操作序列为() A: s->next=p->next;p->next=-s; B: q->next=s; s->next=p; C: p->next=s->next;s->next=p; D: p->next=s;s->next=q