day17

1:在一个以h为头的单循环链中,p指针指向链尾的条件是(A)
A:p->next=h
B:p->next=NULL
C:p->next->next=h
D:p->data=-1
解析:p指向链尾也就是说p的下一个是头结点(因为是循环链表),所以p->next=h
2:在9阶B-树中,除叶子以外的任意结点的分支数介于5和9之间 (B)
A:对
B:错
解析:B-树的阶数m决定了节点的分支数(m/2的上整,m),但是有两个例外,一个是叶节点,另外一个是根节点,根节点允许有两个分支。
3:由树转化成二叉树,该二叉树的右子树不一定为空。( B)
A:正确
B:错误
解析:树转换为二叉树因为根节点没有兄弟,所以该二叉树的右字树一定为空
4:若有定义"char a [10], *p=a; ”,那么下列赋值语句正确的是( D)。
A:a [] =“abcdefg”;
B:a=”abedefg";
C:*p=”abcdefg";
D:p=”abcdefg ";
解析
A选项,应该是a[10]=“abcdefg”
B选项,a是数组首地址不能这样赋值
C选项,*p=a,也是指针地址变量,不能这样赋值
D正确
5:用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使j沿链移动的操作为(A)
A:j=r[j].next
B:j=j+1
C:j=j->next
D:j=r[j]->next
解析:静态链表是用数组模拟,所以不用指针的->用点。要移动,则必须要有next
6:下图为一个二叉树,请选出以下不是遍历二叉树产生的顺序序列的选项(BD)
在这里插入图片描述
A:ABCDEFIGJH
B:BDCAIJGHFE
C:BDCAIFJGHE
D:DCBJHGIFEA
解析:A为前序遍历,C为中序遍历
7:若有说明:int a[10];,则对数组元素的正确引用是(D)。
A:a[10]
B:a[3,5]
C:a(5)
D:a[10-10]
解析:A中下标越界,D为a[0],正确
8:B- 树的插入算法中,通过结点的向上“分裂”,代替了专门的平衡调整。(A)
A:正确
B:错误
解析:B-树的插入过程是一个动态调整的过程。设B-树的度为m,则在插入时,会先找到合适的节点位置,插入到相应位置,然后判断该节点的关键字个数是否超过m-1,若超过则作“分裂”处理——将中间节点上移插入到父节点中,原来节点的左边(原来中间节点的左边)放在原来的节点中不变,而右边则放入到新节点中,然后再判断父节点的度,超过则作相同的分裂操作,每次分裂都是向上传递,因此很好的保证了B-树的平衡性。
9: 有n个数顺序(依次)入栈,出栈序列有Cn种,Cn=[1/(n+1)]*(2n)!/[(n!)*(n!)](A)
A:正确
B:错误
解析:带入数据,当n=2或者n=3时,计算结果正确
10:以下是一个tree的遍历算法,queue是FIFO队列,请参考下面的tree,正确的输出是(C)

queue.push(tree.root)
	while(true)
		node = queue.pop()output(node.value)//输出节点对应数字
		if(null==node)
			break
		for(child_node in node.children)
			queue.push(child_node)

在这里插入图片描述
A:1376254
B:1245367
C:1234567
D:1327654
解析:首先输出1,将2 3加入队列中,然后输出2,将4 5加入队列,然后输出3将6 7加入队列,再依次输出。即123456

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值