1.计算下列程序的时间复杂度()
for (i=1;i<n;i++)
for(j=1;j<m;j++)
{a1,a2,a3,a4};
A.O(n)
B.O(mn)
C.O(m)
D.O(1)
答案:B
2.求递归方程T(n)=4T(n/2)+n 的解 ( )
A.O(n)
B.O(n^2)
C.O(n^3)
D.O(logn)
答案:B
用Mater公式计算
3.下列关于动态规划算法说法错误的是()
A.动态规划关键在于正确地写出基本的递推关系式和恰当的边界条件
B.当某阶段的状态确定后,当前的状态是对以往决策的总结并且直接影响未来的决策
C.动态规划算法根据子问题具有重叠性,对每个子问题都只解一次
D.动态规划算法将原来具有指数级复杂度的搜索算法改进成具有多项式时间算法
答案:D
动态规划:
1.递推关系式.
2.子问题重叠.
3.最优子结构.
4.已知图G的邻接表如下图所示,则从V1点出发进行广度优先遍历的序列为( )
A.V1,V2,V3,V4,V5,V6
B.V1,V2,V5,V4,V3,V6
C.V1,V2,V3,V6,V5,V4
D.V1,V2,V4,V6,V5,V3
答案:B 画个图就明白了
5.以下哪个不是队列的应用( )
A.图的广度优先搜索
B.设置打印数据缓冲区
C.树的层次遍历
D.中缀表达式转后缀表达式
答案:D后缀表达式也叫逆波兰式。中缀转后缀是用栈实现的。
6.有如图所示的二叉树,其后序遍历的序列为( )
A.ABDGCEHF
B.BGDAEHCF
C.GDBHEFCA
D.ACFEHBDG
答案:C 后序左右中
7.折半查找法对带查找列表的要求为( )
A.必须采用链式存储结构、必须按关键字大小有序排列
B.必须采用顺序存储结构、必须按关键字大小有序排列
C.必须采用链式存储结构、必须没有数值相等的元素
D.必须采用链式存储结构、必须有数值相等的元素
答案:B
8.一组N个站点共享一个30Kbps的纯ALOHA信道, 每个站点平均每100s输出一个2000bit的帧。试求出N的最大值( )
A.1030
B.276
C.1500
D.1200
答案:C ALOHA信道的吞吐公式为S=Ge-2G
在式中,S为吞吐量,G为单位负载。
转换成一阶导数可以得到Smax= 18.4%
本题答案:
0.184×30kbps=5.52kbps
2000bit÷100s=20bps
N=5520bps÷20bps=276
9.在Linux系统中,某文件权限的分数是754,则以下说法错误的是( )。
A.拥有者的权限是可读、可写、可执行
B.同用户组的权限是可写可执行
C.其他用户权限只有可读
D.所有用户对该文件都可读
答案:B
754对应3种用户的权限:文件所有者、同组用户、其他用户
权限 权限数值 具体作用
r 4 read,读取。当前用户可以读取文件内容,当前用户可以浏览目录。
w 2 write,写入。当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。
x 1 execute,执行。当前用户可以执行文件,当前用户可以进入目录。
因此 7=4+2+1 文件所有者对该文件的的权限为可读可写可执行(A正确);5=4+1 同组用户对该文件的权限为可读可执行;4=4所其他用户对该文件的权限为可读(C正确);综上所有用户都有读权限(D正确)
10.在Java线程中可以通过setDaemon(true);设置线程为守护线程,可以使用join()合并线程。如何正确使用两个方法()
A.在启动线程start()前使用setDaemon(true);
B.在启动线程start()前使用join();
C.在启动线程start()后使用setDaemon(true);
D.两个方法都要放在start()方法之前调用
答案:A
守护线程是Java线程的一种,JVM是在所有非守护线程退出后才退出.
Java的守护线程有垃圾回收器线程,终结器线程等.
t.join方法是将当前线程加入t的wait队列,等到t执行完成再唤醒当前线程.
11.对于如下代码,描述正确的是:
class Animal{
public void move(){
System.out.println("the animal is moving");
}
}
class Dog extends Animal{
public void move(){
System.out.println("the dog can run");
}
public void bark(){
System.out.println("the dog can bark");
}
}
public class TestDog{
public static void main(String args[]){
Animal a = new Animal();
Animal b = new Dog();
}
}
A.a 对象可以调用move方法,输出为:the dog can run
B.a 对象可以调用move方法,输出为:the animal is moving
C.b对象可以调用bark方法输出为:the dog can bark
D.b 对象不能调用bark方法。
答案:BD
12.对于如下代码,运行结果是:
public class Test {
public static void main(String[] args) {
double[] nums = {-1.6};
for (double num : nums) {
test(num);
}
}
private static void test(double num) {
System.out.println(Math.floor(num));
System.out.println(Math.ceil(num));
}
}
A.-2.0 -1.0
B.-1.0 -2.0
C.-2 -1
D.2 1
答案:A
floor:地板 ——> 向下取整
ceil:天花板 ——> 向上取整
13.一个函数定义如下:
public void doSomething( int[][] mat)
{
for( int row = 0; row < mat.length; row++)
for(int col = 0; col < mat[0].length; col++)
mat[row][col] = mat[row][mat[0].length - 1 - col];
}
如果mat为下列2行6列的值:
1 3 5 7 9 11
0 2 4 6 8 10
那么,doSomething(mat)执行完成后,mat的值是?()
A
11 9 7 7 9 11
10 8 6 6 8 10
B
1 3 5 5 3 1
0 2 4 4 2 0
C
11 9 7 5 3 1
10 8 6 4 2 0
D
1 3 5 7 9 11
1 3 5 7 9 11
答案:A
14.关于多线程,以下说法正确的是()
A.并发和并行都用到了多线程
B.要实现多线程只可以通过继承Thread类
C.synchronized关键字是为了解决共享资源竞争的问题
D.在java中,每个对象可以获得多个同步锁
答案:C
15.下面关于创建型模式说法错误的是( )
A.适配器模式属于结构型模式
B.创建型模式关注的是功能的实现
C.当我们想创建一个具体的对象而又不希望指定具体的类时可以使用创建型模式
D.创建者模式是一个对对象的构建过程“精细化”的构建过程,每个部分的构建可能是变化的,但是对象的组织过程是固定的
答案:B
创建型模式关注的是对象的创建过程,包括对象的实例化和组合方式。
16.在顺序图中,如下图形表示的是( )
A.激活的对象
B.带有生命线的对象
C.未激活的对象
D.注释体
答案:A
17.有一张表,列名称和列类型如下:
Id Int unsigned
Uname Varchar(30)
gender Char(1)
weight Tinyint unsigned
Birth Date
Salary Decimal(10,2)
lastlogin Datetime
info Varchar(2000)
对这张表进行优化,可行的是( )
A.不用优化
B.将Id列设置为主键
C.为了提高查询速度,让变长的列定长
D.Info列放在单独的一张表中
答案:BCD
18.阅读下列代码
import java.util.Arrays;
public class Test
{
public static void main(String [] args)
{
int a[] ={34,12,35,54,22,33,56};
Arrays.sort(a);
for(int j=0;j<a.length;j++)
System.out.print(a[j]+"");
}
}
输出结果正确的是
A.12 22 33 34 35 54 56
B.22 33 34 35 54 12 56
C.56 54 35 34 33 22 12
D.33 34 35 54 12 56 22
答案:A
public class Test {
private int eat=1;
double drink = 2.0;
protected int sleep = 3;
public double run = 4.0;
}
A.eat
B.drink
C.sleep
D.run
答案:BCD
20.下面关于异常的描述正确的是()
A.Throwable是所有异常的根
B.所有异常都是在运行后报错
C.异常分为Error和EXception
D.有一部分异常编译器会程序员检查并处理
答案:ACD