美团笔试真题

算法攻城狮A-2017

  1. 下面哪种STL容器的实现和其它三个不一样
    A. set
    B. deque
    C. multimap
    D. map
答案:B
序列式容器: vector, list, deque
适配器容器: stack, queue, 优先队列priority-queue
关联式容器: set, multiset, map, multimap, auto-ptr, pair
参考:https://baike.so.com/doc/10037528-10530805.html
  1. 以下哪种模型不适合序列标注问题
    A.Recurrent Neural Network
    B. Conditional Random Field
    C.Convolution Neural Network
    D.Hidden Markov model
答案:C
  1. 一颗高度为4 的平衡二叉树,其最少节点数为
    A. 5
    B. 6
    C. 7
    D. 8
答案:C 
平衡二叉树:每个节点的左右子树高度只差不大于1
假设深度为n的平衡二叉树至少有F(n)个结点,那么F(n)满足 F(n)=F(n-1)+F(n-2)+1
  1. 一共三个结点的二叉树可能出现多少种结构
    A. 3
    B. 4
    C. 5
    D. 6
答案:C
节点的形态数 = 卡特兰数 = (2n!)/(n!*n!*(n+1))
  1. 以下哪种不是非稳定排序算法
    A. 归并排序
    B. 快速排序
    C 堆排序
    D 希尔排序
答案:A
冒泡排序:冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不会再无聊地把他们俩交换一下的
选择排序:举个例子,序列5 8 5 2 9,我们知道第一遍选择第1个元素5会和2交换,那么原序列中2个5的相对前后顺序就被破坏了,所以选择排序不是一个稳定的排序算法
插入排序:插入排序是在一个已经有序的小序列的基础上,一次插入一个元素。当然,刚开始这个有序的小序列只有1个元素,就是第一个元素。比较是从有序序列的末尾开始,也就是想要插入的元素和已经有序的最大者开始比起,如果比它大则直接插入在其后面,否则一直往前找直到找到它该插入的位置。如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相等元素的前后顺序没有改变
快速排序:快速排序是一个不稳定的排序算法
归并排序、基数排序:是稳定的排序算法
希尔排序(shell)、堆排序:不是稳定的排序算法
  1. 下面哪个不是神经网络的激活函数?
    A. sigmoid
    B. ReLU
    C. 反正切tanh
    D. 交叉熵CE
答案:D
  1. 现有一段文本,其中只有A,B,C,D,E包含五个字母,它们出现的次数分别是A出现1次,B出现2次,C出现10次,D出现6次,E出现4次,那么经过哈弗曼编码后,各个字母对应的编码可能是下面哪一组?
    A.A=1101,B=1100,C=0,D=10,E=110
    B.A=1100,B=1101,C=0,D=10,E=111
    C. A=1111,B=1101,C=10,D=0,E=110
    D . A=1101,B=1100,C=10,D=0,E=111
答案:B
每次选择频率最低的两个合成一个树,然后将该节点加入原来节点中,重复下去,构成树后左0由1

在这里插入图片描述 8. 设某棵三叉树中有36个节点,则该三叉树的最小高度是
A. 3
B. 4
C. 5
D. 6

答案:B
最小高度就是除叶子外,每个结点都有3个孩子的三叉树的高度:
第一层:1个结点
第二层最多有:3个结点
第三层最多有:9个结点
第四层有:27个结点
1+3+9=13<27,  36<1+3+9+27 所以高度为4
  1. 在电影票房预测工作中,假如使用梯度下降优化均方差损失函数,并且希望模型训练效更偏重于票房较大的电影样本,不能实现这个目的的操作是:
    A. 在训练数据中直接复制大票房电影的数据
    B. 修改损失函数,使其偏重大票房电影的误差
    C. 增加大票房电影独有的特征,例如访问流量是否大于一定阈值
    D. 针对大票房数据,在训练时增加学习步长
答案:C
  1. 当用户使用稀疏特征进行训练时,对于离散特征缺省值应该如何处理效果较好
    A. 直接删除该特征
    B. 对缺省值付给一个全新值来标记
    C. 当零处理直接忽略
    D. 使用平均值代替
答案:B
连续性的是可以使用平均值来代替,离散型的话可以使用全新值来标记

多选
11. 以下哪些算法可以用来降维
A. Latent Dirichlet Allocation
B. Word2Vec
C. Principal component analysis
D. AutoEncoder

答案:ABCD
自编码就是用少于输入层神经元数量的隐含层神经元去学习表征输入层的特征,相当于把输入层的特征压缩了,所以是特征降维
  1. 以下哪些是防止过拟合可以采用的方法?()
    A. 使用正则化项
    B. 扩增测试数据集
    C. 决策树模型剪枝
    D. early stop
答案:ACD
  1. 以下说法正确的是
    A. 机器学习中使用L2正则化可以得到平滑的权值
    B. 在AdaBoost算法中,所有被错分的样本的权重更新比例相同。
    C. Boosting和Bagging都是组合多个分类器投票的方法,二者都是根据单个分类器的正确率决定其权重。
    D. 梯度下降有时会陷于局部极小值,但EM算法不会。
    E. 在核回归中,最影响回归的过拟合性和欠拟合之间平衡的参数为核函数的宽度.
答案:ABE
EM是一种迭代算法,用于含有隐变量的概率参数模型的最大似然估计或极大后验概率估计。最大优点是简单和稳定,但与梯度下降一样,容易陷入局部最优

14.以下哪些是判别式模型
A. 最大熵
B. 决策树
C. 条件随机场
D. 朴素贝叶斯

答案:ABC
对于输入x,类别标签y:
产生式模型估计它们的联合概率分布P(x,y)
判别式模型估计条件概率分布P(y|x)

判别式模型常见的主要有:Logistic Regression、SVM、Traditional Neural Networks、Nearest Neighbor、CRF、Linear Discriminant Analysis、Boosting、Linear Regression
产生式模型常见的主要有:Gaussians、Naive Bayes、Mixtures of Multinomials、Mixtures of Gaussians、Mixtures of Experts、HMMs、Sigmoidal Belief Networks, Bayesian Networks、Markov Random Fields、Latent Dirichlet Allocation
  1. 下列哪些优化算法主要用来解无约束优化问题
    A.随机梯度下降
    B. LBFGS
    C. 共轭梯度法
    D. SMO
    E. 拟牛顿法
答案:ABCE
发布了39 篇原创文章 · 获赞 2 · 访问量 3701

猜你喜欢

转载自blog.csdn.net/orangerfun/article/details/105243125
今日推荐