优酷土豆2012.9.12校园招聘会笔试题(3)

填空题
1、设数组定义为a[60][70],每个元素占2个存储单元,数组按照列优先存储,元素a[0][0]的地址为1024,那么元素a[32][58]的地址为(8048

2、在一个娱乐节目上,主持人提供有三扇门(假设为A、B、C),只有1扇门后面有奖品,另两扇门后面是空的,而主持人知道具体哪扇门后有奖品。首先,当你选择了一扇门之后(假设A),主持人会把剩下两扇门中的一扇没有奖品的门打开(假设打开的空门为B),现在你有一次机会决定是否要交换重新选择,如果你坚持选择A,你中奖的概率是(1/3),如果你交换选择C,你中奖的概率是(2/3)   
假设你选择的1门,而主持人打开的是3门,则奖品在2门后面的概率是


3、一棵深度为h的满二叉树,其最末一层共有(2^h)个节点(根节点深度为0)
4、下面程序的运行结果为(1  3  2

void foo(int *a , int *b) 

    *a = *a + *b; 

    *b = *a - *b; 

    *a = *a - *b; 

 

void main() 

    int a = 1 , b = 2 , c = 3; 

    foo(&a , &b); 

    foo(&b , &c); 

    foo(&c , &a); 

    printf("%d %d %d\n",a,b,c); 

5、4个结点可以构造出(14)个不同的二叉树    Catalan数
6、设有n个无序的记录关键字,则直接插入排序的时间复杂度为(O(n^2)),快速排序的平均时间复杂度为(O(nlgn)
7、设一组初始记录关键字序列为(20,18,22,16,30,19),则以20为中轴的一趟快速排序结果为(19,18,16,20,30,22)
8、C语言的函数参数传递方式有传递   和  传递 地址
9、分配在堆上和栈上的内存,哪一个需要手动进行内存释放?  堆上的内存

问答题:
一、有一个单向循环链表队列,从头开始报数,当报到m或者m的倍数的元素出列,根据出列的先后顺序重新组成单向循环链表。
函数原型: void reorder(Node **head , int m)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/20728.html