360公司2019校招Web前端笔试题解析

需积分: 14 9 下载量 113 浏览量 更新于2024-09-08 1 收藏 23KB DOCX 举报
"360-2019校招笔试-Web前端开发工程师客观题合集" 这个文档集合包含了2019年360公司针对Web前端开发工程师的校园招聘笔试题目,主要涉及了计算机科学的基础知识,特别是与Web开发相关的数据结构、排序算法和图论等内容。 1. 最大堆的调整: 题目中提到最大堆的删除操作,最大堆是一种特殊的完全二叉树,其中每个父节点的键值都大于或等于其子节点的键值。删除最大堆的根节点(最大值)后,需要通过下沉操作重新调整堆。根据给出的选项,正确的调整结果是使93保持为根节点,其左子树是53,右子树是48,然后是36,45,30,18,35,15。因此,正确答案是第二个选项:93,48,53,36,45,30,18,35,15。 2. 筛选法创建最小堆: 筛选法是从最后一个非叶子节点开始,自底向上调整堆。对于关键码集合K={22,11,38,68,43,6,10,48},创建最小堆通常从最后一个非叶子节点(这里为43)开始,将其与父节点比较并交换位置,直至满足最小堆性质。题目未给出具体的操作顺序,但可以理解为从后往前调整,所以起点是43,不是其他选项。 3. 归并排序的特性: 归并排序是基于分治策略的排序算法,它将数组分为两半,分别排序,然后合并。归并排序是稳定的,即相等元素的相对顺序在排序后不会改变。但归并排序并不使用贪心策略,且在实际操作中,子序列的长度不一定相等。正确选项是ad,即“归并排序使用了分治策略的思想”和“归并排序是稳定的”。 4. 查找二叉排序树: 在二叉排序树中查找元素,如果每次比较都是中位数,查找次数最少。给定序列构建的二叉排序树中查找35,会经过50,30,80,20,40,最后找到35,因此需要比较5次。正确答案是b,即5次。 5. 网络传输时间计算: 计算网络传输时间,公式是:时间=文件大小/带宽。给定带宽为100Mbps,文件大小为25M,转换成比特是25 * 1024 * 1024 * 8比特。时间=25 * 1024 * 1024 * 8 / (100 * 1024 * 1024) = 2秒。因此,正确答案是c,即2秒。 6. 空间复杂度为O(1)的排序算法: 简单选择排序、快速排序和堆排序的空间复杂度都不是O(1),它们需要额外的空间来存储辅助数据。而基数排序在某些实现中可以达到O(1)的空间复杂度,因为它不需要额外的存储空间。所以正确答案是ad,即“基数排序”和“堆排序”。 7. 有向图的拓扑排序: 拓扑排序是将有向无环图(DAG)的顶点按其无向边的关系进行排序,使得对于每一条边u->v,u总是在v之前。根据给定的边关系,可以推断出拓扑序列。正确答案是第一个选项:a,c,d,f,b,e,g。 8. 广度优先搜索(BFS)的时间复杂度: 对于有n个顶点,e条边的有向图,使用邻接表存储,BFS遍历的时间复杂度是O(n+e),因为它需要访问所有顶点和边。正确答案是c,即O(n+e)。 9. 平衡二叉树的构建: 插入序列7,6,4,10,8,11构建平衡二叉树,根据平衡二叉树的性质,插入后的平衡二叉树的根结点是中间值,这里应该是8。正确答案是d,即8。 10. 比特填充技术: 比特填充用于解决同步问题,规则是在连续出现的多个相同比特后添加一个额外的比特。原始数据011011111111111111110010中,连续出现了5个1,需要在第四个1后面添加一个0,因此填充后的数据是0110111110111111111110010。正确答案是d。 这些题目涵盖了数据结构(堆、二叉树、图)、排序算法、网络传输以及位操作等多个IT领域的基础概念。