【打卡挑战第三天】

打卡挑战第三天

  • 构造编译程序应掌握 ______ 。
    a 源程序
    b 目标语言
    c 编译方法
    d 以上三项都是
    解析:d。
  • 在计算机中,组成一个字节的二进制位位数是( )
    a 1
    b 2
    c 4
    d 8
    解析:d。
  • 通常使用队列来处理函数或过程的调用()
    a 对
    b 错
    解析:b。
    用堆栈来处理函数调用,
    函数调用过程中把参数压入堆栈保存,执行完毕后弹出堆栈释放
  • 下列选项中,不属于进程关键要素的是________。
    a 程序
    b 数据和栈
    c 进程控制块
    d 原语
    解析:d。
    一般来说Linux系统中的进程都具备下列诸要素:
    (1)有一段程序供其执行。(程序)
    (2)有进程专用的系统堆栈空间。(数据和栈)
    (3)在内核有task_struct数据结构。(进程控制块)
    (4)有独立的存储空间,拥有专有的用户空间。
    如果只具备前面三条而缺第四条,那就称为“线程”。如果完全没有用户空间,就称为“内核线程”;而如果共享用户空间则就称为“用户线程”。
  • 在一个空的5阶B-树中依次插入关键字序列{6,8,15,16,22,10,18,32,20},插入完成后,关键字6所在结点包含的关键字个数为( )
    a 2
    b 3
    c 4
    d 5
    解析:b。
    【打卡挑战第三天】
    可参考博文https://blog.****.net/li_canhui/article/details/85305147
  • 对于二分搜索法,下面描述正确的是()
    a 可用于数组
    b 可用于单链表
    c 只能在已排序的数据上进行
    d 最坏情况下时间复杂度是O(N*LogN)
    解析:ac。
    二分查找首先要求数据是有序的,同时要求能随机访问数据元素, 有序数组可以, 链表不行
    二分查找因为每次都是从中间点开始查找,所以最坏情况是目标元素存在于最边缘的情况。最坏为O(LogN)
  • 关于equals和hashCode描述正确的是 ()
    a 两个obj,如果equals()相等,hashCode()一定相等(符合代码规范的情况下)
    b 两个obj,如果hashCode()相等,equals()不一定相等
    c 两个不同的obj, hashCode()可能相等
    d 其他都不对
    解析:abc。
    “==”:作用是判断两个对象的地址是否相等,即,判断两个对象是不是同一个对象,如果是基本数据类型,则比较的是值是否相等。
    “equal”:作用是判断两个对象是否相等,但一般有两种使用情况
    1.类没有覆盖equals()方法,则相当于通过“==”比较
    2.类覆盖equals()方法,一般,我们都通过equals()方法来比较两个对象的内容是否相等,相等则返回true,如String
    地址比较是通过计算对象的哈希值来比较的,hashcode属于Object的本地方法,对象相等(地址相等),hashcode相等,对象不相等,hashcode()可能相等,哈希冲突