• 网新恒天2011.9.21招聘会笔试题


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

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

    答:C

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

     

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

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

    答:C

    1. 算法导论上说:“使用二叉堆优化Prim算法的时间复杂度为O((V + E) log(V)) = O(E log(V)),对于稀疏图相对于朴素算法的优化是巨大的,然而100行左右的二叉堆优化Prim相对于40行左右的并查集优化Kruskal,无论是在效率上,还是编程复杂度上并不具备多大的优势。另外,我们还可以用更高级的堆来进一步优化时间界,比如使用斐波那契堆优化后的时间界为O(E + V log(V)),但编程复杂度也会变得更高。”  
    2. 时间复杂度,比B高,比C低,我认为选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、下面程序的输出结果为()

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

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

    答:C

    1. 考查的是unsigned int和int在一起混合运算,int转化为unsigned int  
    2. -2的补码就是2^32-2,即是4294967294 ,乘以1的结果还是这个数字。  
    考查的是unsigned int和int在一起混合运算,int转化为unsigned int
    -2的补码就是2^32-2,即是4294967294 ,乘以1的结果还是这个数字。

     

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

    1. void fn(int *b)    
    2. {    
    3.     cout<<(*b)++;    
    4. }    
    5. int main(void)    
    6. {    
    7.     int a=7;    
    8.     fn(&a);    
    9.     cout<<a;    
    10.     return 0;    
    11. }   
    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、下面程序的输出结果为()

    1. #pragma pack(8)      
    2. union A    
    3. {    
    4.     char a[13];    
    5.     int b;    
    6. };    
    7. int main(void)    
    8. {    
    9.     cout<<sizeof(A)<<endl;    
    10.     return 0;    
    11. } <SPAN style="FONT-FAMILY: 微软雅黑; FONT-SIZE: 18px">  </SPAN>  
    #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、下面程序的输出结果为()

    1. class A    
    2. {    
    3. public:    
    4.     A(int a)    
    5.     {    
    6.         printf("%d ",a);    
    7.     }    
    8. };    
    9. A a(1);    
    10. int main(void)    
    11. {    
    12.     printf("main ");    
    13.     A c(2);    
    14.     static A b(3);    
    15.     return 0;    
    16. }    
    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、下面程序的输出结果为()

    1. struct Test    
    2. {    
    3.     unsigned short int a:5;    
    4.     unsigned short int b:5;    
    5.     unsigned short int c:6;    
    6. };    
    7. int main(void)    
    8. {    
    9.     Test test;    
    10.     test.a=16;    
    11.     test.b=4;    
    12.     test.c=0;    
    13.     int i=*(short*)&test;    
    14.     printf("%d ",i);    
    15.     return 0;    
    16. }    
    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
    ",i);  
        return 0;  
    }  

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

    答:B

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

     

  • 相关阅读:
    GitHub上如何创建组织?
    windows中使用Git如何解决文件冲突?
    GitHub上如何删除代码仓库?
    并发编程模型和访问控制
    大数据征信的应用和启示:ZestFinance的基于大数据的信用评估技术
    Hadoop的Python框架指南
    Redis+Django(Session,Cookie、Cache)的用户系统
    如何使你的Ajax应用内容可让搜索引擎爬行
    Web运营手记
    全屏slider--swiper
  • 原文地址:https://www.cnblogs.com/13224ACMer/p/4445140.html
Copyright © 2020-2023  润新知