首页 > 编程语言 > 详细

牛客网校招全国统一模拟笔试(三月场)- Java方向

时间:2019-03-21 12:30:06      阅读:369      评论:0      收藏:0      [点我收藏+]

1、若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置,利用()遍历方法最合适

A 前序   B 中序   C 后序   D 按层次

解析:显然后序遍历比较合理。正常的逻辑应该就是:做好当前结点子树内部的交换,然后交换当前结点的左右子树。刚好符合后序遍历的算法逻辑。
1. 交换好左子树
2. 交换好右子树
3. 交换左子树与右子树
其他算法如先序和按层次其逻辑都差不多,即访问当前结点时交换其左右子树。从逻辑上来看稍显别扭一点点。因此说最合适应该是后序遍历,但是从实现上来说先序和按层次都是可以的。
1. 交换左子树与右子树
2. 遍历左子树
3. 遍历右子树
按层次遍历
1. 根结点入队列
2. 出队列,交换其左右子树,将子树的根入队列
3. 重复2直到队列为空
中序遍历相对较难实现一些。

2、链表不具备的特点是( )

A 可随机访问任何一个元素

B 插入、删除操作不需要移动元素

C 无需事先估计存储空间大小

D 所需存储空间与线性表长度成正比

解析:链表是线性表的链式存储,是用结点来存储数据元素。线性表采用链表作为存储结构时,不能进行数据元素的随机访问,其优点是插入和删除操作不需要移动元素。所以,本题应该选择A。

3、下列关于栈的叙述正确的是()

A 栈是非线性结构

B 栈是一种树状结构

C 栈具有先进先出的特征

D 栈有后进先出的特征

解析:栈实际上也是线性表,是按照“先进后出”或“后进先出”的原则组织数据的。

4、某棵完全二叉树上有698个节点,则该二叉树的叶子节点数为

A 349   B 350   C 255   D 351 

解析:所谓完全二叉树是指除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。具有n个结点的完全二叉树,其父结点数为int(n/2),而叶子结点数等于总结点数减去父结点数。本题n=698,故父结点数等于int(698/2)=349,叶子结点数等于 698-349=349。

 5、输入若已经是排好序的,下列排序算法最快的是()

A 插入排序   B Shell排序   C 合并排序   D 快速排序

解析:A:插入排序只需要遍历一遍,时间复杂度为O(n)

B:希尔排序基于插入排序,只有好的情况下才能达到O(n)

C:归并排序时间复杂度为nlogn

D:快速排序在排好序的情况下,时间复杂度为n^2
6、在网络7层协议中,如果想使用UDP协议达到TCP协议的效果,可以在哪层做文章?
A 应用层   B 表示层   C 会话层   D 传输层   E 网络层
解析:因为UDP要达到TCP的功能就必须实现拥塞控制的功能,而且是在路由之间实现,这个在底层明显是做不到拥塞控制的,在应用层也是做不到的,因为应用层之间和应用程序挂钩,一般只能操控主机的程序,而表示层是处理所有与数据表示及运输有关的问题,包括转换、加密和压缩,在传输层是不可能的,因为你已经使用了UDP协议,无法在本层转换它,只有在会话层.
  会话层(SESSION LAYER)允许不同机器上的用户之间建立会话关系。会话层循序进行类似的传输层的普通数据的传送,在某些场合还提供了一些有用的增强型服务。允许用户利用一次会话在远端的分时系统上登陆,或者在两台机器间传递文件。 会话层提供的服务之一是管理对话控制。会话层允许信息同时双向传输,或任一时刻只能单向传输。如果属于后者,类似于物理信道上的半双工模式,会话层将记录此时该轮到哪一方。
7、主机甲和乙已建立了 TCP 连接,甲始终以 MSS=1KB 大小的段发送数据,并一直有数据 发送;乙每收到一个数据段都会发出一个接收窗口为 10KB 的确认段。若甲在 t 时刻发生超时时拥塞窗口为 8KB,则从 t 时刻起,不再发生超时的情况下,经过 10 个 RTT 后,甲的发送窗口是()
A 10KB   B 12KB   C 14KB   D 15KB
解析:当t时刻发生超时时,把ssthresh设为8的一半,即为4,且拥塞窗口设为1KB。然后经历10个RTT后,拥塞窗口的大小依次为2、4、5、6、7、8、9、10、11、12,而发送窗口取当时的拥塞窗口和接收窗口的最小值,而接收窗口始终为10KB,所以此时的发送窗口为10KB,选A。

  实际上该题接收窗口一直为10KB,可知不管何时,发送窗口一定小于等于10KB,选项中只有A选项满足条件,可直接得出选A。

8、linux 系统中,给文件授予可执行权限的命令是()

A chown   B mv   C sudo  D chmod

解析:chown更改文件的拥有者,mv移动,sudo以管理员权限运行,chmod给文件授予可执行权限。

9、下面关于Linux文件系统的inode描述错误的是:
A inode和文件是一一对应的
B inode描述了文件大小和指向数据块的指针
C 通过inode可获得文件占用的块数
D 通过inode可实现文件的逻辑结构和物理结构的转换
解析: 一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"(hard link)。 除了硬链接以外,还有一种特殊情况。文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的"软链接"(soft link)或者"符号链接(symbolic link)。 这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:"No such file or directory"。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因此发生变化。
10、进程阻塞的原因不包括________。
A 时间片切换   B 等待I/O   C 进程sleep   D 等待解锁

解析:进程有3个状态:就绪态。执行态、阻塞态。三种状态的转换包含有:

就绪->执行,执行->就绪,执行->阻塞,阻塞->就绪

等待I/O、进程sleep、等待解锁等原因都会导致进程暂停。关于"时间片切换",当进程已经获得了除cpu外所有的资源,这时的状态就是就绪态,当分配到了时间片就成了执行态,当时间片用完之前一直未进入阻塞态的话,此后便继续进入就绪态。所以进程的就绪与阻塞是完全不同的。

 

 

牛客网校招全国统一模拟笔试(三月场)- Java方向

原文:https://www.cnblogs.com/zsh-blogs/p/10570311.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!