网新恒天2011.9.21招聘会笔试题

1、下列哪种数据类型不能用作switch的表达式变量()

A、byte         B、char         C、long       D、enum

答:C

switch括号中的表达式只能是整形、字符型或者是枚举型表达式;限制4个字节,所以比int大的不行;只能是byte, char, short, int或者是相应的枚举类型!
不过我试了一下,貌似都可以。

 

2、在图采用邻接表存储时,求最小生成树的 Prim 算法的时间复杂度为()。

A、 O(n)     B、O(n+e)        C、 O(n2)       D、O(n3)

答:C

算法导论上说:“使用二叉堆优化Prim算法的时间复杂度为O((V + E) log(V)) = O(E log(V)),对于稀疏图相对于朴素算法的优化是巨大的,然而100行左右的二叉堆优化Prim相对于40行左右的并查集优化Kruskal,无论是在效率上,还是编程复杂度上并不具备多大的优势。另外,我们还可以用更高级的堆来进一步优化时间界,比如使用斐波那契堆优化后的时间界为O(E + V log(V)),但编程复杂度也会变得更高。”
时间复杂度,比B高,比C低,我认为选C比较好
3、在图采用邻接矩阵存储时,求最小生成树的 Prim 算法的时间复杂度为()。

A、 O(n)   B、 O(n+e)        C、 O(n2)       D、O(n3)

答:C


4、树的后根遍历序列等同于该树对应的二叉树的().

A、先序序列         B、中序序列       C、后序序列

答:B


5、“Abc汉字”的长度为()

A、5          B、6        C、7      D、8

答:D


6、下面程序的输出结果为()

unsigned int a=1;  
cout<<a*-2<<endl;  

 

A、-4      B、4       C、4294967294         D、4294967295

答:C
7、下面程序的输出结果为()

void fn(int *b)  
{  
    cout<<(*b)++;  
}  
int main(void)  
{  
    int a=7;  
    fn(&a);  
    cout<<a;  
    return 0;  
} 

A、77      B、78       C、89        D、undefined

答:B


8、下面程序的输出结果为()

#pragma pack(8)   
union A  
{  
    char a[13];  
    int b;  
};  
int main(void)  
{  
    cout<<sizeof(A)<<endl;  
    return 0;  
}   

A、4      B、8       C、16        D、12

答:C

计算类的大小见类的sizeof


9、下面程序的输出结果为()   

class A  
{  
public:  
    A(int a)  
    {  
        printf("%d ",a);  
    }  
};  
A a(1);  
int main(void)  
{  
    printf("main ");  
    A c(2);  
    static A b(3);  
    return 0;  
}  

A、1  main 2 3      B、1  main 3 2       C、main 1  2 3         D、main  1 3 2
答:A


10、下面程序的输出结果为()

struct Test  
{  
    unsigned short int a:5;  
    unsigned short int b:5;  
    unsigned short int c:6;  
};  
int main(void)  
{  
    Test test;  
    test.a=16;  
    test.b=4;  
    test.c=0;  
    int i=*(short*)&test;  
    printf("%d\n",i);  
    return 0;  
}  

A、6         B、144            C、5            D、95

答:B

1、程序中':'的作用,如 unsigned short int a:5;表示变量a占了5个bit的空间,这样的话结构体所占的变量空间为5+5+6,暂且表示为000000|00000|00000,对应c|b|a
2、在主程序中对结构体初始化a=16,b=4,c=0,转换为二进制放到上面的空间,000000|00100|10000同样对应a|b|c
3、后面一句int i=*(short*)&test;取结构体test的地址空间,就是上面的000000|00100|10000,转换成short型,也就是144

 

11、n个结点的线索二叉树上含有的线索数为()

A、2n      B、n-l       C、n+l         D、n

答:C


12、()的遍历仍需要栈的支持.

A、前序线索树     B、中序线索树      C、后序线索树

答:C


13、二叉树在线索后,仍不能有效求解的问题是()。

A、前(先)序线索二叉树中求前(先)序后继

B、中序线索二叉树中求中序后继

C、中序线索二叉树中求中序前驱

D、后序线索二叉树中求后序后继

答:D


14、求解最短路径的Floyd算法的时间复杂度为()。

A、O(n)    B、 O(n+c)     C、O(n*n)     D、O(n*n*n)

答:D


部分答案参考http://blog.csdn.net/hackbuteer1/article/details/6802113

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值