1、下列选项中,用来求解加权有向图的最短路径的算法是:
A.Ford-Bellman算法
B.KM算法
C.深度优先检索算法
D.广度优先检索算法
答案:A
2、下列机器学习算法中,属于无监督学习的有:
A.PU-learning
B.KNN
C.EM算法
D.Logistic Regression
答案:C
PU-learning,正例和无标记样本学习(Learning from Positive and Unlabled Example)简称 PU 或 LPU 学习,是一种半监督的二元分类模型;KNN,k近邻法(k-nearest neighbor, kNN)是一种基本分类与回归方法,其基本做法是:给定测试实例,基于某种距离度量找出训练集中与其最靠近的k个实例点,然后基于这k个最近邻的信息来进行预测;EM,最大期望算法(Expectation Maximization Algorithm,又译期望最大化算法),是一种迭代算法,用于含有隐变量(latent variable)的概率参数模型的最大似然估计或极大后验概率估计;Logistic Regression,逻辑回归
通常监督学习包括:K-近邻算法、决策树、朴素贝叶斯、逻辑回归;非监督学习包括:聚类、EM算法、受限波尔兹曼机等
3、使用KMP算法在文本串S中找模式串P是一种常见的方法。假设S=P={xyxyyxxyx},亦即将S对自己进行匹配,匹配过程中正确的next数组是____。
A.0,1,1,2,2,1,2,2,3
B.0,1,2,2,3,1,2,2,3
C.0,1,1,2,3,1,2,2,3
D.0,1,1,2,3,1,1,2,3
E.0,1,2,2,3,1,1,2,3
F.0,1,2,2,2,1,1,2,3
答案:C
KMP算法next数组的求解方法是:第一位的next值为0,第二位的next值为1,后面求解每一位的next值时,根据前一位进行比较。首先将前一位与其next值对应的内容进行比较,如果相等,则该位的next值就是前一位的next值加上1;如果不等,向前继续寻找next值对应的内容来与前一位进行比较,直到找到某个位上内容的next值对应的内容与前一位相等为止,则这个位对应的值加上1即为需求的next值;如果找到第一位都没有找到与前一位相等的内容,那么需求的位上的next值即为1。
next数组即为匹配串不对应后模式串改从哪一位开始继续比较,即移位后的模式串对应的比较子串符位置
为0则字符串右移一位,然后从0开始比较
如果为1即从第1个字符再开始比较
整个过程只遍历了字符串一次,做的只有在模式串之间比较并根据Next数组跳转比较
4、已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是( )
A.堆排序
B.直接插入排序
C.快速排序
D.直接选择排序
答案:B
5、在以下不同的场景中,使用的分析方法不正确的
A.根据司机最近一年的服务订单数据,用聚类算法判断出滴滴司机在不同产品线下所属的司机层级
B.根据司机近期的订单数据,用聚类算法拟合出乘客未来可能的乘车花费价格公式
C.用关联规则算法分析出乘坐快车的乘客,是否适合推荐乘坐专车
D.根据乘客最近的乘车信息,用决策树算法识别出乘客可能是男还是女
答案:B
聚类算法为非监督学习算法,不能用于乘客价格公式的回归化拟合
6、数据结构中,如果一个队列的入队顺序是 1、2、3、4 ,则不可能的输出顺序是( )
A.1234
B.1423
C.4321
D.3241
答案:BCD
7、以下哪些算法可用于遍历网络图?
A.广度优先搜索
B.深度优先搜索
C.线性规划策略
D.决策树
答案:AB
8、下面哪些属于算法的基本特征?
A.可行性
B.确定性
C.有穷性
D.输入、输出
答案:ABCD
算法的5个基本特征:确定性、有穷性、输入、输出、可行性。
9、以下哪些算法是可以用来求最小生成树?
A.kruskal算法
B.dijkstra算法
C.floyd算法
D.prim算法
答案:AD
求图的最小生成树算法:
1.Prim算法(适合稠密图,贪心算法的运用,时间复杂度O(n+e),邻接表存储;O(n^2),图)
2.Kruskal算法(适合稀疏图,贪心算法的运用,时间复杂度O(eloge),e为边数 )
求图最短路径算法:
1.DFS/BFS(单源)
2.Floyed算法(多源)
3.Dijkstra算法(单源)
4.Bellman-Ford算法(单源,负权)
10、下面哪些是基于核的机器学习算法?
A.Expectation Maximization
B.Radial Basis Function
C.Linear Discrimimate Analysis
D.Support Vector Machine
答案:BCD
核函数主要将m维高维空间的内积运算转化为n维低维输入空间的核函数计算,通常用来解决在高维特征空间中计算复杂的分类或回归的"维数灾难"等问题。
A、Expectation Maximization,EM, 聚类算法
B、Radial Basis Function,径向基核函数(高斯核)
C、Linear Discrimimate Analysis,线性判别分析(线性核)
D、Support Vector Machine,支持向量机 (高斯核、线性核,多项式核)
https://www.nowcoder.com/questionTerminal/1e78c4e31e074f10ba1dae3b0aa6c9da?from=14pdf
11、关于指针和引用下列说法正确的是()
A.对引用的操作实际上就是对引用对象的操作
B.使用指针和引用传递参数相对值的方式执行效率更高
C.引用必须被初始化,指针可以不被初始化
D.引用初始化以后不能被改变,指针可以改变指向
答案:CD
指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。
引用是用来给某个变量以别名的变量。对引用的操作,实质上就是对被引用的变量的操作,故D错
执行效率要结合实际情况,通过比较传递过程的资源消耗和执行函数体消耗之和来决定谁效率更高,故B错
引用必须初始化,指针不必,故C对
指针的值在初始化后可以改变,即指向其它的存储单元,而引用在进行初始化后就不会再改变引用对象了,故D对
5.指针和引用的自增(++)运算意义不一样;
12、linux中,命令kill -9 $(ps -ef |grep tomcat)可以杀死机器上的tomcat进程
A.对
B.错
答案:B
https://blog.csdn.net/catoop/article/details/49557967
13、Java的多线程中,wait睡眠后不出让系统资源,sleep让出系统资源其它线程可以占用CPU
A.对
B.错
答案:A
sleep睡眠后不出让系统资源,wait让出系统资源其他线程可以占用CPU,属wait()和sleep()的区别
14、在C语言中,不同类型的变量可以在一个表达式中
A.对
B.错
答案:A
15、在JavaScript中,对象函数调用时,this指向当前对象
A.对
B.错
答案:B
解析器在调用函数每次都会向函数内部传递进一个隐含的参数, 这个隐含的参数就是this,this指向的是一个对象,这个对象我们称为函数执行的 上下文对象,根据函数的调用方式的不同,this会指向不同的对象
1.以函数的形式调用时,this永远都是window
2.以方法的形式调用时,this就是调用方法的那个对象
3.以构造函数的形式调用时,this是新创建的那个对象
4.通过call()或apply()改变函数执行环境的情况况下,this就会指向其他对象
原文链接:https://blog.csdn.net/qq_36384657/article/details/94986467
16、编程题1:请编写程序,计算对于任意长度的绳子,找到其最优的剪法,绳子长度由录入控制
https://blog.csdn.net/qq_41431406/article/details/84404632
编程题2:请编写程序,计算对于任意多个积木,将其按照编号排列,需要交换的最少次数为多少?
https://blog.csdn.net/qq_42316621/article/details/100079228