几个选择题 大家给讲下 谢谢了
1 若二叉树有12个结点且度为1的个数有5个,问树叶结点有____个?[单项选择题]A. 6 B. 5 C. 4 D. 8
2 下列程序为在一双向链表中插入一个新结点在某结点的右边,而每个结点包含三个域,依次为Link,ITEM,Rlink,在以下括号内选出正确答案:
void dinsert (node-pointer node , node-pointer newnode)
{newnode->Llink=node; newnode->Rlink=node->Rlink;____=newnode;node->Rlink=newnode;}[单项选择题]
A. node->Rlink->Llink B. node->Llink->Rlink C. node->Llink D. node->Llink->Llink
3 若二叉树有10个树叶结点,试问其degree为2的结点个数有____个?[单项选择题]
A. 8 B. 6 C. 3 D. 9
4 若二叉树有7个度为2的结点,试问有____个终端结点?[单项选择题]
A. 8 B. 6 C. 5 d。9
5 在一个单链表中,若删除p所指结点的后继结点,则执行____。[单项选择题]
A. p->next=p->next->next;
B. p=p->next;p->next=p->next->next;
C. p->next=p->next;
D. p=p->next->next
6 、假设双链表结点的类型如下:
typedef struct linknode
{
int data; /*数据域*/
struct linknode *llink,*rlink /*llink和*rlink 是分别指向前驱结点和后续结点的指针域*/
}bnode
下面给出的____算法段是要把一个q所指新结点作为非空双向链表中的p所指结点的前驱结点。[单项选择题]
A. q->rlink=p;q->llink=p->llink;p->llink=q;p->llink->rlink=q;
B. p->llink=q;q->rlink=p;p->llink->rlink=q;q->llink=p->llink;
C. q->llink=p->llink;q->rlink=p;p->llink->rlink=q;p->llink=q;
D. 以上都不对