算法岗位,选择题(不同岗位,题目不一样)+编程题(都一样),特此记录,欢迎补充纠正
1.关于迁移学习说法正确的是
A.传统的学习算法假定训练和检验数据都从相同的分布和特征空间抽取,迁移学习允许分布。。
B.迁移学习算法再为新的目标任务构建分类器时,使用源任务的知识。分类器的构建需要。。
C.负迁移是迁移学习的难题
D.迁移学习旨在从一个或多个源任务提取知识,并将这种知识用于目标任务。
2.SVM的说法错误的是(A)
A. SVM边界距离越大,分类错误的可能性越高
B .对于线性不可分的二分类问题,可以将数据投影到高维空间
C.使用核方法可以合理的利用非线性转化吧数据转到高纬度去,解决计算內积时导致的算法复杂度高的问题
D.SVM超平面的边际距离代表超平面到两侧最近点的距离。
3.多表联接查询的时候,为了提高查询的相应时间,以下方法存在问题的是:(C)
A.在各个表中创建一个索引查看
B 创建一个自定义,该函数返回表中的数据
C 创建一个存储过程,该存储过程从表中返回数据
D 创建一个表量用户自定义函数,该函数返回表中的数据
4.下列那些算法不是基于规则的分类器:(B,C)
A. SVM
B. ANN
C. KNN
D. C4.5
5.设A为三阶实阵,若对于任一三维列向量,都有X^TAX=0,则(C)
A.|A|>0
B.|A|<0
C.|A|=0
D.其他都不对
7.除了上面的题目,还有
- 大顶堆插入一个数字后,重新排序的题目。
- 堆的插入
向堆中插入一个元素时,首先将该元素写入到堆尾,即堆中最后一个元素的后面,然后经调整为一个新堆。因为在原有堆上插入一个新元素后,可能使以该元素的双亲结点为根的子树不为堆,从而使整个树不为堆,所以必须进行调整使之仍为一个堆。调整的方法如下,若新元素大于双亲结点的值,就让它们互换位置。新元素换到双亲位置后,使得以该位置为根的子树成为堆,但新元素可能还大于此位置的双亲结点的值,从而使以上一层的双亲结点为根的子树不为堆,还需要按上述方法继续调整。这样持续传递上去,直到以新位置的双亲结点为根的子树仍为一个堆或者调整到堆顶为止,此时得到的整个树又成为了一个堆。- 堆的删除
堆中每次都只能删除堆顶元素。为了便于重建堆,实际的操作是将最后一个数据的值赋给根结点,然后再从根结点开始进行一次从上向下的调整。调整时先在左右子结点中找最小的,如果父结点比这个最小的子结点还小说明不需要调整了,反之将父结点和它交换后再考虑后面的结点。相当于根结点数据的“下沉”过程。- 堆的建立
从无序序列建堆的过程就是一个反复调整的过程。若将此序列看成是一个完全二叉树,则最后一个非终端结点是第(n-2)/2个结点,由此调整过程只需从该结点开始,直到堆顶元素。
- 正规式(编译原理里面):((a|b)|(aa))b与(a|b)*b的关系
- 文法(GCE)
E→E+T|E-T|T
T→T*F|T/F|F
F→|E|/I(记不清了)
网友评论