【数据挖掘】2020奇安信秋招算法方向试卷3 笔试题解析

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 2020年奇安信秋招算法方向试卷3的题目解析,涵盖了数据结构、机器学习、深度学习、自然语言处理、排序算法、激活函数、PCA、词嵌入库等多个领域的知识点。

来自牛客网:【2020】奇安信秋招算法方向试卷3

1、设计一个判别表达式中左,右括号是否配对出现的算法,采用____数据结构最佳

答案:栈

2、对于有n 个结点的二叉树, 其高度为( )

答案:未知,可以随意变换高度

3、如何判定一个头指针为head的带头结点的单链表为空表( )

答案:head→next==NULL

4、对于顺序存储的有序表(1,2,3,4,5,6,7,8,9),若采用折半查找查找元素4,需要查几次?

答案:4

5、redis在的有序集合中在数据量极少的情况下使用的一下那种结构存储方案

答案:压缩表

6、先进先出页面置换算法中以下描述正确的是

答案:最先进来页面最先淘汰出去

7、从一个大量整数中找出最大的10个数,以下使用最优的算法是()

A.最大堆算法
B.快速排序
C.冒泡算法
D.选择排序

8、HashMap与HashTable相关以下描述不正确的是
A.HashMap不能进行数组扩容
B.二者都可以进行数组扩容
C.二者都是以链表来作为解决冲突方案
D.二者都是以散列表数据结构存储数据

答案:A

9、下列哪个函数不是常用激活函数?D
A.Sigmoid
B.Tanh
C.Relu
D.Exp

答案:D

10、深度网络反向传播中,第N层发生梯度消失,则?

答案:N层的网络梯度消失

11、以下关于dropout的说法中,正确的有?

A.使用时需要较大的learning rate
B.有助于防止过拟合
C.有助于防止梯度消失
D.减少了模型参数数量

12、多分类函数输出为(P1, P2, …, Pk), 下列哪个函数的Pi之和为1?

A.Relu
B.Sigmoid
C.Tanh
D.Softmax

13、此说法是否正确:word2vec模型由多个深度神经网络模型构成。

答案:错误

14、以下不属于凸函数的是?

A.y = logx
B.y = xlogx
C.y = ||x||
D.y=e^ax

答案:D

15、机器学习中L1正则化和L2正则化的区别是?

答案:使用L1可以得到稀疏的权值,使用L2可以得到平滑的权值。

解析:

16、如下8个点聚为3类,A1(1,2),A2(3,1),A3(8,4),B1(5,8),B2(4,1),B3(6,4),C1(3,5),C2(4,9),采用K均值算法,以下不属于第一次循环后的聚类中心的是?

A.(A1,A2,B2)
B.(B1,A3,C2)
C.(B1,A2,C2)
D.(C1,B3)

答案:C

解析:

17、通常,在LSTM中,遗忘门、输入门和输出门使用( )函数作为激活函数。

答案:Sigmoid函数

18、以下关于CNN的描述错误的是?

A.卷积操作可获取图像区域不同类型的特征。
B.汇合等操作可对提取出的特征进行融合和抽象。
C.随着若干卷积、汇合层的堆叠,各层得到的深度特征逐渐从泛化特征过度到高层语义表示。
D.不能通过叠加多层小卷积核取得与大卷积核同等规模的感受野。

答案:D

19、一个有n个顶点的图最少有(    )条边。

答案:0

20、8个外观一样的铁球,其中一个较轻,给你一个天秤,至少( )次可以找出较轻的球?

答案:2

21、以下属于生成式模型的是?

A.隐马尔科夫模型
B.神经网络
C.贝叶斯网
D.条件随机场

答案:A,C

22、以下关于自然语言处理错误的有?

A.N-gram模型相对神经网络的主要优点是其具有更高的模型容量,且处理样本只需非常少的计算量。
B.在许多自然语言应用中,通常希望模型产生字符作为输出的基本单位。
C.加速神经语言模型训练的一种方式是,避免明确地计算个别未出现在下一位置的词对梯度的贡献。
D.在神经机器翻译中,为生成以源句为条件的整句,模型必须具有表示整个源句的方式。

答案: B,C

23、下列哪些库可以用于词嵌入?

A.Word2vec
B.Glove
C.Fasttext
D.Numpy

答案:A,B,C

24、关于PCA的,哪些说法为真?

A.PCA是非监督学习模型
B.算法优先保留方差最大的维度
C.主成分数量<=特征维度数
D.所有主成分彼此正交

答案:A,B,C,D

25、下列排序算法中不是稳定排序的是?

直接选择排序
直接插入排序
希尔排序
快速排序

答案:A,C,D

排序算法 平均时间复杂度 最坏时间复杂度 最好时间复杂度 空间复杂度 稳定性
冒泡排序 O(n²) O(n²) O(n) O(1) 稳定
直接选择排序 O(n²) O(n²) O(n) O(1) 不稳定
直接插入排序 O(n²) O(n²) O(n) O(1) 稳定
快速排序 O(nlogn) O(n²) O(nlogn) O(nlogn) 不稳定
堆排序 O(nlogn) O(nlogn) O(nlogn) O(1) 不稳定
希尔排序 O(nlogn) O(ns) O(n) O(1) 不稳定
归并排序 O(nlogn) O(nlogn) O(nlogn) O(n) 稳定
计数排序 O(n+k) O(n+k) O(n+k) O(n+k) 稳定
基数排序 O(N*M) O(N*M) O(N*M) O(M) 稳定

26、以下激活函数,哪个的输出值不为负?

答案:ReLU、Sigmoid

解析:

27、如果在线性回归模型中增加一个特征变量,下列可能发生的是?
R-squared 增大,Adjust R-squared 增大
R-squared 增大,Adjust R-squared 减小
R-squared 减小,Adjust R-squared 减小
R-squared 减小,Adjust R-squared 增大

答案:A,B

解析:https://zhuanlan.zhihu.com/p/340105912

28、想要训练一个 ML 模型,样本数量有 100 万个,特征维度是 5000,面对如此大数据,如何有效地训练模型?

A.对训练集随机采样,在随机采样的数据上建立模型
B.尝试使用在线机器学习算法
C.使用 PCA 算法减少特征维度
答案:A,B,C

29、下列说法错误的有?
A. Bagging可以降低方差
B. Random Forest可以降低方差
C. Boosting可以降低偏差
D. Decision Tree可以降低偏差

答案:D

Random Forest属于bagging,是降低方差

30、以下描述正确的是?
链表进行插入、删除操作,比顺序表中效率高
散列法存储的思想是由关键字值决定数据的存储地址
一个广义表的表尾总是一个广义表
数组元素的下标值越大,存取时间越长

答案:A、B、C

解析:存取,指读出,写入,时间复杂度都是O(1),不是插入和删除操作。

2 编程题

1、有一个大型仓库使用拣货机器人从不同的货架间取货。

已知:

(1)货架呈二维网格排列,网格中的每个货架只会放置一种商品。

(2)受这代设备的技术水平所限,机器人只能沿上下左右四个方向移动,还不能沿斜线移动,请理解。

仓库当前使用的拣货算法是这样:

(1)一张订单会包含X种商品,分布在X个货架上

(2)结合将这X种商品的所在位置,将地图上的商品分解为Y个“商品堆”,然后同时派出Y个机器人,并发取货,每个机器人只负责一个“商品堆”。

(3)“商品堆”的定义是上下左右彼此相邻的一组商品。

在订单被分析后,给你一个由 ‘1’(该货架有待取货物)和 ‘0’(该货架没有待取货物)组成的的二维网格表示货架地图,请计算需要派出的机器人的数量。

比如,下面的这张货物地图:

在这里插入图片描述

在这个例子中,一共有6“堆”商品,共需要同时派出6个机器人。

输入例子1:
[[1,1,1,1,0],[1,1,0,1,0],[1,1,0,0,0],[0,0,1,0,1]]
输出例子1:
3
链接:https://www.nowcoder.com/questionTerminal/e683b9c28b594e97a3e498e5db29ea89
来源:牛客网

class Solution:
    def numIslands(self , grid ):
        # write code here
        ls=[(-1,0),(1,0),(0,-1),(0,1)]
        n=len(grid)
        m=len(grid[0])
        nums=0
        def dfs(i,j):
            grid[i][j]=0
            for k in ls:
                new_i=k[0]+i
                new_j=k[1]+j
                if 0<=new_i<n and 0<=new_j<m and grid[new_i][new_j]=="1":
                    dfs(new_i,new_j)
        for i in range(n):
            for j in range(m):
                if grid[i][j]=="1":
                    nums+=1
                    dfs(i,j)
        return nums

2 、在某厂,产品经理同学的工作职责除了给开发同学提需求,还有一件极其重要的事:对产品运营数据做归因分析。

某天,该产品经理同学接到老板要求:根据在过去一段时间内产品的“每日活跃用户数”,统计出最长的增长总天数,也就是把保持增长势头(可以不连续)的天数抽出来,你可能会得到多个新序列,计算最长的那个序列的总天数。

我们把该产品自上线以来“每日的活跃用户数”,都按照顺序放入一个数组,比如:

[1,5,122,34,45,232,342,34],以这组数据为例,把其中所有的增长子序列罗列出来:

形成了

第一个子序列: [1,5,122]

第二个子序列:[34,45,232,342]

第三个子序列:[1,5,122,232,342]

第四个子序列:[1,5,34,45,232,342]

这四个序列,其中最长的是第四个,所以这个例子中,最长的增长总天数是:6

因为该产品上线时间有十几年了,产品同学数了1个小时,眼都数花了,最后只好放弃,她决定用请开发同学吃饭,来解决这个问题,你能帮帮她吗?

输入例子1:
[10,9,2,5,3,6,101,18]
输出例子1:
4
例子说明1:
最长增长的子序列为 [2,3,6,101] 或者 [2,5,6,101]或者[2,3,6,18]或者[2,5,6,18],所以返回长度 4。
目录
相关文章
|
21天前
|
存储 算法 安全
.NET 平台 SM2 国密算法 License 证书生成深度解析
授权证书文件的后缀通常取决于其编码格式和具体用途。本文档通过一个示例程序展示了如何在 .NET 平台上使用国密 SM2 算法生成和验证许可证(License)文件。该示例不仅详细演示了 SM2 国密算法的实际应用场景,还提供了关于如何高效处理大规模许可证文件生成任务的技术参考。通过对不同并发策略的性能测试,开发者可以更好地理解如何优化许可证生成流程,以满足高并发和大数据量的需求。 希望这段描述更清晰地传达了程序的功能和技术亮点。
95 13
.NET 平台 SM2 国密算法 License 证书生成深度解析
|
10天前
|
存储 监控 算法
关于员工上网监控系统中 PHP 关联数组算法的学术解析
在当代企业管理中,员工上网监控系统是维护信息安全和提升工作效率的关键工具。PHP 中的关联数组凭借其灵活的键值对存储方式,在记录员工网络活动、管理访问规则及分析上网行为等方面发挥重要作用。通过关联数组,系统能高效记录每位员工的上网历史,设定网站访问权限,并统计不同类型的网站访问频率,帮助企业洞察员工上网模式,发现潜在问题并采取相应管理措施,从而保障信息安全和提高工作效率。
30 7
|
1月前
|
监控 算法 安全
内网桌面监控软件深度解析:基于 Python 实现的 K-Means 算法研究
内网桌面监控软件通过实时监测员工操作,保障企业信息安全并提升效率。本文深入探讨K-Means聚类算法在该软件中的应用,解析其原理与实现。K-Means通过迭代更新簇中心,将数据划分为K个簇类,适用于行为分析、异常检测、资源优化及安全威胁识别等场景。文中提供了Python代码示例,展示如何实现K-Means算法,并模拟内网监控数据进行聚类分析。
43 10
|
27天前
|
存储 监控 算法
探秘员工泄密行为防线:基于Go语言的布隆过滤器算法解析
在信息爆炸时代,员工泄密行为对企业构成重大威胁。本文聚焦布隆过滤器(Bloom Filter)这一高效数据结构,结合Go语言实现算法,帮助企业识别和预防泄密风险。通过构建正常操作“指纹库”,实时监测员工操作,快速筛查可疑行为。示例代码展示了如何利用布隆过滤器检测异常操作,并提出优化建议,如调整参数、结合日志分析系统等,全方位筑牢企业信息安全防线,守护核心竞争力。
|
2月前
|
存储 算法 安全
控制局域网上网软件之 Python 字典树算法解析
控制局域网上网软件在现代网络管理中至关重要,用于控制设备的上网行为和访问权限。本文聚焦于字典树(Trie Tree)算法的应用,详细阐述其原理、优势及实现。通过字典树,软件能高效进行关键词匹配和过滤,提升系统性能。文中还提供了Python代码示例,展示了字典树在网址过滤和关键词屏蔽中的具体应用,为局域网的安全和管理提供有力支持。
62 17
|
16天前
|
机器学习/深度学习 自然语言处理 算法
生成式 AI 大语言模型(LLMs)核心算法及源码解析:预训练篇
生成式 AI 大语言模型(LLMs)核心算法及源码解析:预训练篇
114 0
|
17天前
|
存储 算法 安全
基于 Go 语言的公司内网管理软件哈希表算法深度解析与研究
在数字化办公中,公司内网管理软件通过哈希表算法保障信息安全与高效管理。哈希表基于键值对存储和查找,如用户登录验证、设备信息管理和文件权限控制等场景,Go语言实现的哈希表能快速验证用户信息,提升管理效率,确保网络稳定运行。
26 0
|
2月前
|
算法 搜索推荐 Java
【潜意识Java】深度解析黑马项目《苍穹外卖》与蓝桥杯算法的结合问题
本文探讨了如何将算法学习与实际项目相结合,以提升编程竞赛中的解题能力。通过《苍穹外卖》项目,介绍了订单配送路径规划(基于动态规划解决旅行商问题)和商品推荐系统(基于贪心算法)。这些实例不仅展示了算法在实际业务中的应用,还帮助读者更好地准备蓝桥杯等编程竞赛。结合具体代码实现和解析,文章详细说明了如何运用算法优化项目功能,提高解决问题的能力。
86 6
|
3月前
|
存储 算法 安全
基于红黑树的局域网上网行为控制C++ 算法解析
在当今网络环境中,局域网上网行为控制对企业和学校至关重要。本文探讨了一种基于红黑树数据结构的高效算法,用于管理用户的上网行为,如IP地址、上网时长、访问网站类别和流量使用情况。通过红黑树的自平衡特性,确保了高效的查找、插入和删除操作。文中提供了C++代码示例,展示了如何实现该算法,并强调其在网络管理中的应用价值。
|
3月前
|
存储 监控 算法
企业内网监控系统中基于哈希表的 C# 算法解析
在企业内网监控系统中,哈希表作为一种高效的数据结构,能够快速处理大量网络连接和用户操作记录,确保网络安全与效率。通过C#代码示例展示了如何使用哈希表存储和管理用户的登录时间、访问IP及操作行为等信息,实现快速的查找、插入和删除操作。哈希表的应用显著提升了系统的实时性和准确性,尽管存在哈希冲突等问题,但通过合理设计哈希函数和冲突解决策略,可以确保系统稳定运行,为企业提供有力的安全保障。

推荐镜像

更多