2014年3月30日阿里巴巴实习生笔试(北京站)

文章截图来自http://blog.csdn.net/snowwolf_yang/article/details/22522643,有需要的可以点击查看。

       


       1: C.  192.168.5.121&255.255.255.248=192.168.5.120

2:D. 2*3*(64/8)=48. 

        3:  C.  参考http://hi.baidu.com/ouleiq/item/3979f12970e6b6ccdcf69ab9

4:  D. 在32位机器上,short占16位,int类型占4个字节。y为short类型,其十六进制表示为FFF7H。z=x+y。在加法运算过程中会向上转型到int类型。然后进行加法操作。

                  0000007F+FFFFFFF7H=00000076H。

  5. D. myArray[2][2]的行坐标是2,定位到{3,2}这一行。列坐标是2。超出了该行下标的索引范围。因此会出现越界。

6. B. 快速排序平均时间复杂度为O(nlogn)。

        7. A. 以数组为例,删除一个元素之后,其后的n-i个节点都需要向前移动一位。而在第i个元素前添加一个元素的话,包括该元素及其以后的元素(总共n-i+1个)都需要向后 挪动一个位置。



        8. B. f这个函数形参是指向char类型的指针。题目中实参是一字符数组。f中的x++操作会让x指向数组第二个字符。并将其值修改为'a'。数组其他字符值

                  不修改。

  9. B. 本题一个关键是’0‘的ASCII编码的值是48,故在if(x)判断的时候,结果都为真。

10. C. foo(n)=foo(n-1)+foo(n-2). 根据递推关系和初始值,得出foo(6)=13。


11. C.  首先计算f(n)的时间复杂度T(n)。 T(n)=T(n-1)+T(n-2)+T(n-3)+T(n-4)+...+T(1)=2{T(n-2)+T(n-3)+T(n-4)+...+T(1)}=2^(n-1)T(1)=2^(n-1)

由此可见,T(n)的时间复杂度大约在2的n-1次幂。f(35)的执行时间差不多在2^34次加法操作。考虑到目前处理频率在1.7GHz左右,因此估算运行时间几分钟。

我在本地笔记本上面运行了上述程序,时间是675.107s,也就是11分钟左右。

12.  B. 首先根据一个度对应树中一个节点的性质,推算出叶子节点数据的公式T(0)=T(4)*4+T(3)*3+T(2)*2+T(1)*1-T(4)-T(3)-T(2)-T(1)+1=20*4+10*3+1*2+10*1-41+1=82。

13 . D. 在入栈顺序在B以后的C第一个出栈时,A与B必然都还在栈里。B比A更靠近栈顶。因此,不可能A比B先出栈。

14.  C. 在有序数组里面,二分查找时间复杂度是O(logn)。

15.  A.  最大流量问题,可转换为最小割。我这边没有直接算,直接根据原图分析。从S到T的所有路径中,从15,14,36,10四条边分割。中间节点,由于其入流最多19+12=31,通过36这条路径就可以通过,因此,14这条路径不需要分配流量。因此,最大流量只能是19+12+15=46。

16. B. 从张老板的角度考虑经济损失:在整个交易过程中,他失去了成本为65的鲜花,从邻居拿到了100元真钞,找给年轻人20元,同时最后赔付了100元给邻居。因此,其总共的收入是:-65+100-20-100=-85元。也就是损失了85元。

17. A. 观察法。2 mod 7=2 ; 2^2 mod 7= 4; 2^3 mod 7=1; 2^4 mod 7= 2 以此类推,可见余数以3为周期循环出现。因为2^100 mod7 的结果是2。

18. A. 排除加计算。对于B,分区客户转化率提高,只能说明在访问店铺客户数目中,成为会员的比例在增加。并不能说明会员店铺总数在增加。对于C,两个分区之间其实缺乏比较性。因为10%和5%的提高都是相对于分区自身而言。如果华南区本来转化率就很高,那他就会比华东区更容易转化。排除D的原因同样是这个道理。至于A中公司总体转化率可以根据分区情况表达出来,根据表达式可以发现,分区转化率提高,公司总体未必有提升。

19. B. 由于1-4号所在组号码最大是4,因此即使7与8能够闯进决赛,也没法爆冷,因为下标相距2以上。因为,当6爆冷击败5,并且4号闯进决赛时,6号就有可能获得冠军。他是标号最大的有可能获得冠军的选手。

20. C. 几何分布。P(j)=0.5表示生男孩的概率。由几何分布特性可以知道,第一次获得男孩的期望是2,也就是生两个小孩,第一个是女孩,第二个是男孩。因此,平均每户有1个女儿。

21. B. 通过malloc函数是可以直接申请超过物理内存大小的内存块。对于C,free函数并没有真正把内存交给操作系统,而是交给glibc堆管理实体,他会把物理内存交给操作系统的策略做一些优化。详情见http://blog.linuxphp.org/archives/1521/

22.  D.  删除节点后,既可以选左子树最大,也可以选择右子树最小, A错。二叉排序树前序遍历第一个节点为根节点。因为,可以利用前序和后序,唯一确定一个二叉搜索树。利用二叉搜索树排序,时间复杂度为O(nlogn)。

23.  A D. 16位数开14次根,范围是11.7~13.8.考完下来查的。哭

24. B.  条件概率公式应用。P(第二个球为白色|第一个球为黑色)=P(第一个球为黑色,第二个球为白色)/(P(第一个球为黑色))=(1/3*(1/2))/(1/3+(1/3)*(1/2))=0.33.


25.  50帧真彩图像信息量是50*640*360*24=276480000>24000000

       因此,采用改蓝牙技术是不够的。传输一帧时间是276480000/50/24000000=0.23秒.

26. M*N。可借鉴归并排序算法。

27. 17分钟。第一趟: 1和2过去,1回来;第二趟:10和5过去,2回来;第三趟:1和2过去。总共2+1+10+2+2=17分钟。

28.  下标变化有问题。start=middle+1 。end=middle-1。

29. 未完待续





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于计算机专业的学生而言,参加各类比赛能够带来多方面的益处,具体包括但不限于以下几点: 技能提升: 参与比赛促使学生深入学习和掌握计算机领域的专业知识与技能,如编程语言、算法设计、软件工程、网络安全等。 比赛通常涉及实际问题的解决,有助于将理论知识应用于实践中,增强问题解决能力。 实践经验: 大多数比赛都要求参赛者设计并实现解决方案,这提供了宝贵的动手操作机会,有助于积累项目经验。 实践经验对于计算机专业的学生尤为重要,因为雇主往往更青睐有实际项目背景的候选人。 团队合作: 许多比赛鼓励团队协作,这有助于培养学生的团队精神、沟通技巧和领导能力。 团队合作还能促进学生之间的知识共享和思维碰撞,有助于形成更全面的解决方案。 职业发展: 获奖经历可以显著增强简历的吸引力,为求职或继续深造提供有力支持。 某些比赛可能直接与企业合作,提供实习、工作机会或奖学金,为学生的职业生涯打开更多门路。 网络拓展: 比赛是结识同行业人才的好机会,可以帮助学生建立行业联系,这对于未来的职业发展非常重要。 奖金与荣誉: 许多比赛提供奖金或奖品,这不仅能给予学生经济上的奖励,还能增强其成就感和自信心。 荣誉证书或奖状可以证明学生的成就,对个人品牌建设有积极作用。 创新与研究: 参加比赛可以激发学生的创新思维,推动科研项目的开展,有时甚至能促成学术论文的发表。 个人成长: 在准备和参加比赛的过程中,学生将面临压力与挑战,这有助于培养良好的心理素质和抗压能力。 自我挑战和克服困难的经历对个人成长有着深远的影响。 综上所述,参加计算机领域的比赛对于学生来说是一个全面发展的平台,不仅可以提升专业技能,还能增强团队协作、沟通、解决问题的能力,并为未来的职业生涯奠定坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值