牛客网day07

一.选择题

1.CMM 能力成熟度模型只关注软件过程,不关注软件开发技术和人员问题,说明开发技术和人员问题并不重要。请问这句话的说法是正确的吗?
正确
错误
2.通过建立业务模型,我们能够分析领域中的角色、功能关系、组织架构、业务规则等


3.在下面的两个关系中,职工号和部门号分别为职工关系和部门关系的主键(或称主码)职工(职工号、职工名、部门号、职务、工资) 部门(部门号、部门名、部门人数、工资总额) 在这两个关系的属性中,只有一个属性是外键(或称外来键、外码、外来码),它是 ______

正确答案: B 你的答案: B (正确)
职工关系的“职工号”
职工关系的“部门号”
部门关系的“职工号”
部门关系的“部门号”
4.在堆栈段中,存放栈顶地址的寄存器是( )。
IP
SP
BX
BP
5.反映现实世界中实体及实体间联系的信息模型是( )?
关系模型
层次模型
网状模型
E-R模型//实体转化模型
6.下面是有关赫夫曼(huffman)树的论述,其中正确的说法是( )
赫夫曼树一定是一棵完全二叉树
赫夫曼树与二叉排序树是同义词
在赫夫曼树中,结点的度数只可能为0、2
在赫夫曼树中,结点的度数可能为0、1、2
7.在二叉排序树中插入一个结点最坏情况下的时间复杂度为()
O(1)
O(n)
O(log2n)
O(n^2)
解析:最差情况下是O(n) 如果是最一般最基础的二叉树的话, 因为深度不平衡,所以会发展成单链的形状,就是一条线 n个点那么深 如果是深度平衡的二叉树 o(logn)
8.某硬盘有200 个磁道(最外侧磁道号为 0),磁道访问请求序列为:130,42,180,15,199,当前磁头位于第 58 号磁道并从外侧向内侧移动。按照 SCAN 调度方法处理完上述请求后,磁头移过的磁道数是()。
208
287
325
382
9.解析:SCAN 算法就是电梯调度算法。顾名思义,如果开始时磁头向外移动就一直要到最外侧,然后再返回向内侧移动,就像电梯若往下则一直要下到最底层需求才会再上升一样。当期磁头位于 58 号并从外侧向内侧移动,先依次访问 130 和 199 ,然后再返回向外侧移动,依次访问 42 和 15 ,故磁头移过的磁道数是: ( 199 - 58)+(199 - 15)=325 。
给出数据表 score(stu-id,name,math,english,Chinese), 下列语句正确的是( )

正确答案: A 你的答案: A (正确)
Select sum(math),avg(chinese) from score
Select *,sum(english) from score
Select stu-id, sum(math) from score
Delete * from score
10.DA_B EQU BYTE PTR DA_W
DA_W DW ‘AB’ , ‘CD’,‘EF’,‘GH’

MOV BX,DA_W+3
MOV BH,DA_B+3
执行上述两条指令后,BX中的内容是( ) 。
‘EF’
‘FC’
‘CC’
‘FF’
解析:第一条MOV 读到C存储到BX低八位读到存储到高八位(以双字读)
第二条MOV读到C覆盖BX的高八位(以字节读)所以结果为’CC’

二.编程题

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main{
	private Main lChild;
	private Main RChild;
	private Main root;
	private Object data;
	List<Main> datas=new ArrayList<Main>();
	private int i=0,count=0;
	public Main(Main lChild, Main rChild, Object data) {
		this.lChild = lChild;
		RChild = rChild;
		this.data = data;
	}
	public Main(Object data) {
	  this(null,null,data);
	}
	public Main() {
	}
	//根据题目要求构建二叉树
	public void createBiTree(int m,int n){
		if(i==0||(datas.size()<i+1)&&(int)(datas.get(i-1).data)!=m){//当插入为第一个根节点或者我们的树的高度小于当前下标值加一时并且上一个根得值不为当前传入值时添加新根
			if(i==0){
				datas.add(new Main(m));
				i++;
				root=datas.get(i-1);
			}else if(root.lChild!=null&&(int)root.lChild.data==m){
				datas.add(root.lChild);
				i++;
				root=datas.get(i-1);
			}else if(root.lChild!=null&&(int)root.lChild.data==m){
				datas.add(root.RChild);
				i++;
				root=datas.get(i-1);
			}else{
				for(int i=0;i<datas.size();i++){
					if(datas.get(i).lChild!=null&&(int)datas.get(i).lChild.data==m){
						root=datas.get(i).lChild;
						datas.add(root);
						this.i++;	
					}else if(datas.get(i).RChild!=null&&(int)datas.get(i).RChild.data==m){
						root=datas.get(i).RChild;
						datas.add(root);
						this.i++;
					}
				}
				
			}
		}
		if(root.lChild==null&&(int)root.data==m){
			root.lChild=new Main(n);
		}else if(root.RChild==null&&(int)root.data==m){
			root.RChild=new Main(n);
		}
	}
	public void preTreeDepth(Main root,int h){
		if(root!=null){
			if(h>count){
				count=h;
			}
			preTreeDepth(root.lChild,h+1);
			preTreeDepth(root.RChild,h+1);
		}
	}
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();
		Main tree=new Main();
		for(int i=0;i<N-1;i++){
			int m=sc.nextInt();
			int n=sc.nextInt();
			tree.createBiTree(m,n);
		}
		sc.close();
		tree.preTreeDepth(tree.datas.get(0),1);
		System.out.println(tree.count);
	}
}

猜你喜欢

转载自blog.csdn.net/qq_40163148/article/details/83212423