资讯专栏INFORMATION COLUMN

刷题笔记 19-07-17

Gu_Yan / 772人阅读

摘要:树插入的方式若该结点中关键码个数小于,则直接插入即可。若该结点中关键码个数等于,则将引起结点的分裂。注意,文件句柄定位到的是文件对象,而非文件。

1、6个圆盘的汉诺塔,总的移动次数是()

解答:
汉诺塔问题的思想是递归,n个圆盘的汉诺塔,移动的思想可以归纳为三步:
(假设x,y,z三个柱子,n个圆盘都在x柱子上,现在要把圆盘都移动到z柱子上去)
(1)将n-1个圆盘借助z柱子移动到y柱子上
(2)再把第n个圆盘移到z柱子上
(3)把y柱子上的n-1个圆盘移到x柱子上

因此如果用f(n)来表示移动的次数,可以得到: f(n)=2f(n-1)+1; f(1)=1。
得到公式f(n) = 2^n - 1。

2、广义表K=(m,n,(p,(q,s)),(h,f)),则head[tail[head[tail[tail(K)]]]]的值为()

解答:
广义表规定:head表示表的第一个元素,可以是子表也可以是原子;tail表示除去head以外的所有元素组成的表,注意tail一定是一张表。
因此tail(K) = (n,(p,(q,s)),(h,f))
tail[tail(K)] = ((p,(q,s)),(h,f))
head[tail[tail(K)]] = (p,(q,s))
tail[head[tail[tail(K)]]] = (q,s)
head[tail[head[tail[tail(K)]]]] = q

3、在一个空的5阶B-树中依次插入关键字序列{6,8,15,16,22,10,18,32,20},插入完成后,关键字6所在结点包含的关键字个数为( 3 )

解答:
B-树的阶数指的是每个节点最多能有多少节点。
B-树插入的方式:
1、 若该结点中关键码个数小于m-1,则直接插入即可。
2、 若该结点中关键码个数等于m-1,则将引起结点的分裂。以中间关键码为界将结点一分为二,并把中间关键码插入到父结点。

4、TCP协议与UDP协议负责端到端连接,下列那些信息只出现在TCP报文,UDP报文不包含此信息(BC)
A、序列号
B、源端口
C、目标端口
D、窗口大小

解答:
UDP的包头结构为:
源端口 16位
目的端口 16位
长度 16位
校验和 16位

另外我们可以注意到,TCP是提供可靠传输的,而UDP并不提供可靠传输,而序列号和窗口大小都是为了提供可靠传输的。

4、程序员编写程序时使用文件系统提供的系统调用将内存中由address地址开始的n个字节或n个记录的信息写入指定文件中,但发现文件名不可用,可行的解决办法是(使用文件描述符代替文件名使用文件句柄代替文件名)

解答:无论是文件句柄(Windows中概念),还是文件描述符(linux中概念),其最终目的都是用来定位打开的文件在内存中的位置,只是它们映射的方式不一样。

注意,文件句柄定位到的是文件对象,而非文件。而文件对象是对这个文件的一些状态、属性的封装,例如读取到的文件位置等。

5、**以下代码可以使用的修饰符是:()
public interface Status {
/INSERT CODE HERE/ int MY_VALUE=10;
}**

解答: final, static, public
接口中字段的修饰符:public static final(默认不写)
接口中方法的修饰符:public abstract(默认不写)

6、下列描述中,哪些是外观模式的特点( )

对客户端屏蔽了子系统组件
单个子系统的修改不影响其他子系统
子系统类变化时,只需要修改外观类即可

解答:
外观模式是常用的一种设计模式
意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

就相当于去医院看病,可能要去挂号、门诊、划价、取药,让患者或患者家属觉得很复杂,如果有提供接待人员,只让接待人员来处理,就很方便。
优点:
1、减少系统相互依赖。 2、提高灵活性。 3、提高了安全性。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75439.html

相关文章

  • leetcode刷题笔记(1)(python)

    摘要:最近时间准备面试,开始在上刷题了。思路将两个数用转换为二进制需要去除前面的,因为位数不同所以需要在前面补充一定位数的,然后将两个字符串遍历就可以直接得到汉明距离代码 最近时间准备面试,开始在leetcode上刷题了。于是在segmentfault上写点东西来记录下。可能会有各种弱智情况,望指出。 Array Partition I题意:这个题目看原题实在没有看懂,在网上找的翻译,大致...

    layman 评论0 收藏0
  • 【前端刷题笔记02】字节跳动2019面试题

    摘要:为什么状态需要经过最大报文段生存时间才能返回到状态虽然按道理,四个报文都发送完毕,我们可以直接进入状态了,但是我们必须假象网络是不可靠的,有可以最后一个丢失。所以状态就是用来重发可能丢失的报文。 1、TCP的三次握手和四次挥手 1.1 三次握手: 客户端请求 -> 服务器响应 -> 客户端确认收到响应,建立连接(保证网络正常) showImg(https://segmentfault....

    amc 评论0 收藏0
  • 刷题笔记 19-07-16

    摘要:没多久他就得到另一组连续正数和为的序列。思路连续数字的和公式为,因此利用循环来求解,从开始,总和小于给定值则增大右区间,总和大于给定值则增大左区间。例如,字符序列要求输出循环左移位后的结果,即。左移位数可能存在大于长度的可能性 一、和为S的连续正数序列 1、题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想...

    Achilles 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<