阿里巴巴集团 2011届实习生招聘 技术笔试卷——公共题

公共题

选择题(每题5分)

1. 若一棵二叉树具有10个度为2的结点,则该二叉树的度为0的结点个数是(      )

A:9     B:11     C:12     D:不确定 

注解by Snowwolf_Yang:对于一棵二叉树,从只有一个根结点开始,每增加一个度为1的结点,度为0(叶子)个数不变,每增加一个度为2的结点,度为0的个数增加1,所以D0 = D2 + 1

 

2.下列排序算法中,其时间复杂度和记录的初始排列无关的是(      )

A:插入排序     B:堆排序     C:快速排序    D:冒泡排序 

 

3.已知中序遍历的序列为abcdef,高度最小的可能的二叉树的叶子是(     )

A:ace       B:acf        C:adf        D:cdf  

 

 

4.参加百年阿里培训的n位同学结伴去西湖旁边为游人指路,两人一组,他们打算先让体重之和恰好为102公斤的同学一组,请给出一个算法找到这样的组合,或者确定他们中不存在这样的组合,其中最优的算法时间复杂度为?(假设体重均为整数) (     )

A:O(log(n))     B:O(n)      C:O(n log(n))    D:O(n^2)

注解by Snowwolf_Yang:

 

 

 

5.众所周知数据结构中非常基本的树结构包括二叉查找树(BST)。当我们把如下序列:10,5,19,4,13,7,6,3,1按顺序建立一棵BST时,树的最大深度是?(令根节点深度为0,执行不进行平衡的基本插入) (     )

A:5     B:4    C:3     D:2       

注解by Snowwolf_Yang:

二叉排序树(Binary Sort Tree)又称二叉查找树,亦称二叉搜索树。 它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树;

插入过程:把第一个结点做根,插入时先和根比较,如果大于根,那么递归左子树,如果大于根递归右子树,直到叶子结点,如果途中有遇到相同时,返回结点已存在。到叶子结点时,如果插入值比叶子大,则添加为叶子右结点,否则左结点。

 

 

 

6.阿里巴巴启用了新的办公大厦,这里的一切都充满了现代感;工程师们打算在娱乐区用大小相等的圆形材料分割出一些空间,使用A,B,C三个圆形材料,最多可以将空间分为八个区域(包括圆形以外的区域),如果给你五个圆形材料,你最多可以帮助工程师们分出多少个空间? (     )

A:20     B:22     C:26     D:32 

注解by Snowwolf_Yang:这些问题的推导方法是递推,先看多加一个圆后增加了多少个交点,对圆来说多一个交点就多分了一块区域,而在K个圆上再加一个圆至多能增加2K个交点,所以一个圆分2部分,2个圆分2+1*2,三个圆分2+1*2+2*2,N个圆分2+1*2+2*2+……+(n-1)*2= n(n-1)+2部分

转载于:https://www.cnblogs.com/Snowwolf-Yang/p/3630655.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值