A. 5/3
B. 2
C. 7/3
D. 4/3
【答案】A
【解析】平均查找长度为 1 × 1 2 + 2 × 1 3 + 3 × 1 6 = 5 3 1 \times \frac{1}{2} + 2 \times \frac{1}{3} + 3 \times \frac{1}{6} = \frac{5}{3} 1×21+2×31+3×61=35 。
A. 4
B. 5
C. 6
D. 7
【答案】B
【解析】比较次数最多为 ⌊ log 2 n ⌋ + 1 \lfloor \log_2{n} \rfloor + 1 ⌊log2n⌋+1 。
A. 500, 200, 450, 180
B. 500, 450, 200, 180
C. 180, 500, 200, 450
D. 180, 200, 500, 450
【答案】A
A. 6, 8, 10, 11
B. 6, 9, 10, 11
C. 6, 7, 9, 11
D. 6, 8, 9, 11
【答案】B
【解析】第一次 ⌊ ( 1 + 11 ) / 2 ⌋ = 6 \lfloor (1 + 11) / 2 \rfloor = 6 ⌊(1+11)/2⌋=6 。 第二次 ⌊ ( ( 6 + 1 ) + 11 ) / 2 ⌋ = 9 \lfloor ((6 + 1) + 11) / 2 \rfloor = 9 ⌊((6+1)+11)/2⌋=9 。 第三次 ⌊ ( ( 9 + 1 ) + 11 ) / 2 ⌋ = 10 \lfloor ((9 + 1) + 11) / 2 \rfloor = 10 ⌊((9+1)+11)/2⌋=10 。 第四次 11 11 11 。
A. ping -a
B. ipconfig -all
C. netstat
D. telnet
【答案】B
【解析】DOS命令的使用
GRANT update ON inventory TO joe WITH GRANT OPTION;
A. 一个系统权限被授予用户JOE
B. 一个对象权限被授予用户JOE
C. 用户JOE被授予在这个对象上的所有权限
D. 一个系统权限和一个对象权限被授予用户JOE
【答案】B
【解析】with admin option 只能在赋予 system privilege 的时使用;with grant option 只能在赋予 object privilege 的时使用
A. O(1)
B. O(n)
C. O(lgn)
D. O(n^2)
【答案】A
【解析】Hash查找法是由关键字结合Hash函数和冲突处理方法直接计算出关键字在表中的位置,与表的长度 n n n 无关,其查找的时间复杂度对于 n n n 为常量级,即 O ( 1 ) O(1) O(1) 。
A. 最大概率
B. 最小概率
C. 平均概率
D. 同等概率
【答案】D
A. 一定会
B. 一定不会
C. 仍可能会
D. 不能确定
【答案】C
A. 8
B. 3
C. 5
D. 9
【答案】D
【解析】初始Hash表如下
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
15 | 38 | 61 | 84 |
d = H ( 49 ) = 49 m o d 11 = 5 d=H(49)=49\mod11=5 d=H(49)=49mod11=5,但该位置发生冲突,因此继续按照下列地址序列进行探查: d + 1 2 , d − 1 2 , d + 2 2 , d − 2 2 … d+1^2,d-1^2,d+2^2,d-2^2\dots d+12,d−12,d+22,d−22…,经探查得知 d + 2 2 = 9 d+2^2=9 d+22=9 处有空位置,因此 49 49 49 存放在下标为 9 9 9 的空间。
A. 1
B. 2
C. 3
D. 4
【答案】C
【解析】①③④错误,②正确。 如果两个元素在同一个链表中,查找时间肯定不相同,因此①不正确。 若插入规定在链首,则插入操作不需要查找插入位置即可直接进行,因此插入任何一个元素的时间均相同,因此②正确。这是相对于链表的尾插法而言的,在尾插法中,需要找到链表的尾部,因此链表的长度决定了插入元素的执行时间。 所谓堆积问题,即在Hash表的建立过程中,某些Hash地址是由冲突处理产生的,而不是由Hash函数直接产生的,这就可能造成原本Key1与Key2虽然不是同义词,但是最后却得出了相同的Hash地址。 例如,在线性探查法处理冲突的过程中,设第一个同义词占用单元d,这之后连续的若干同义词将占用Hash表的d、d+1、d+2等单元,此时随后任何d+1、d+2等单元上的Hash映射都会由于前面的同义词堆积而产生冲突,尽管随后的这些关键字并没有同义词,因此④不正确。 显然链地址法不会产生堆积现象,因为多个同义词只会占用表中的一个地址,因此③不正确。
A. 在类方法中可用this来调用本类的类方法
B. 在类方法中调用本类的类方法时可直接调用
C. 在类方法中只能调用本类中的类方法
D. 在类方法中绝对不能调用实例方法
【答案】B
【解析】在类方法中不能使用this关键字;在类方法中可以调用其它类中的类方法;在类方法中可以通过实例化对象调用实例方法。
// A
abstract class Name {
private String name;
public abstract boolean isStupidName(String name) {}
}
// B
public class Something {
void doSomething() {
private String s = "-";
int l = s.length();
}
}
// C
public class Something {
public static void main(String[] args) {
Other o = new Other();
new Something().addOne(o);
}
public void addOne(final Other o) {
o.i++;
}
}
class Other {
public int i;
}
// D
public class Something {
public int addOne(final int x) {
return ++x;
}
}
【答案】C
【解析】A:抽象方法不能有方法体;B:方法中定义的是局部变量,不能用类成员变量修饰符private;D:final修饰为常量,常量的值不能被改变。
A. n-1
B. n(n-1)/2
C. n(n+1)/2
D. 0
【答案】B
【解析】每个点可以和其他的 n-1 个点形成一条边,每条边被重复计算了两次,故有 n(n-1)/2 条边。
A. n-1
B. n
C. n+1
D. nlgn
【答案】A
【解析】连通图要求 n 个点两两互相可达,因此至少有 n-1 条边。
A. n^2
B. n(n+1)
C. n/2
D. n(n-1)
【答案】D
A. 有向图
B. 无向图
C. AOV图
D. AOE图
【答案】B
A. n
B. (n-1)^2
C. n-1
D. n^2
【答案】D
A. java.sql
B. java.awt
C. java.lang
D. java.swing
【答案】A
【解析】java.sql是JDBC的编程接口、java.awt和java.swing是做图像界面的类库、java.lang: Java 编程语言进行程序设计的基础类
A. 寄存器
B. 主存储器
C. 控制器
D. 辅助存储器
【答案】C
【解析】控制器:由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成, 它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。 运算器:arithmetic unit,计算机中执行各种算术和逻辑运算操作的部件。 运算器由:算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存器组等组成。 主要功能:执行所有的算术运算;执行所有的逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。
**下列关于无向图连通性特性的叙述中,正确的是()。 **
**I. 所有顶点的度之和为偶数 **
**II. 边数大于顶点个数减1 **
III. 至少有一个顶点的度为1
A. 只有I
B. 只有II
C. I和II
D. I和III
【答案】A
【解析】当图是一棵树的时候,边数刚好等于顶点个数减1,故II错。当所有顶点形成一个首尾相连的环的时候,所有顶点的度均为2,故III错。
**下列关于图的叙述中,正确的是()。 **
**① 回路是简单路径 **
**② 存储稀疏图 用邻接矩阵比邻接表更省空间 **
③ 若有向图中存在拓扑序列 则该图不存在回路
A. 仅①
B. 仅①、②
C. 仅③
D. 仅①、③
【答案】C
【解析】回路中可能存在既不是起点也不是终点的相同点,故①错。邻接矩阵始终占用最大空间,故②错。
A. O(n)
B. O(e)
C. O(n+e)
D. O(n*e)
【答案】C
A. 存在、且唯一
B. 存在、且不唯一
C. 存在、可能不唯一
D. 无法确定是否存在
【答案】C
下列关于最小生成树的叙述中,正确的是()。
I. 最小生成树的代价唯一
II. 所有权值最小的边一定会出现在所有的最小生成树中
III. 使用Prim算法从不同顶点开始得到的最小生成树一定相同
IV. 使用Prim算法和Kruskal算法得到的最小生成树总不相同
A. 仅I
B. 仅II
C. 仅I、III
D. 仅II、IV
【答案】A
class Base {
void test() {
System.out.println("Base.test()");
}
}
public class Child extends Base {
void test() {
System.out.println("Child.test()");
}
static public void main(String[] a) {
Child anObj = new Child();
Base baseObj = (Base) anObj;
baseObj.test();
}
}
A. Child.test()、Base.test()
B. Base.test()、Child.test()
C. Base.test()
D. Child.test()
【答案】D
【解析】测试代码相当于:Base baseObj = new Child();父类的引用指向子类的实例,子类又重写了父类的test方法,因此调用子类的test方法。
class Base {
static void test() {
System.out.println("Base.test()");
}
}
public class Child extends Base {
void test() {
System.out.println("Child.test()");
Base.test(); //Call the parent method
}
static public void main(String[] a) {
new Child().test();
}
}
A. Child.test()、Base.test()
B. Child.test()、Child.test()
C. Compilation error. Cannot override a static method by an instance method
D. Runtime error. Cannot override a static method by an instance method
【答案】C
【解析】静态方法不能在子类中被重写
A. acfdeb
B. aebdfc
C. aedfcb
D. abecdf
【答案】D
【解析】a-b-e后下一个节点只可能是d。
A. 逆拓扑有序
B. 拓扑有序
C. 无序的
D. 都不是
【答案】A
A. 小或相等
B. 小
C. 大或相等
D. 大
【答案】A
【解析】BFS生成树是所有生成树中树高最小的。