A、O(n)
B、O(1)
C、O(log2n)
D、O(n2)
解析:如果二叉排序树是平衡的,则n个节点的二叉排序树的高度为Log2(n+1),其查找效率为O(Log2n),近似于折半查找。如果二叉排序树完全不平衡,则其深度可达到n,查找效率为O(n),退化为顺序查找。一般的,二叉排序树的查找性能在O(Log2n)到O(n)之间。因此,为了获得较好的查找性能,就要构造一棵平衡的二叉排序树。
A、void drink() { …}
B、protected void drink() { …}
C、public void drink() { …}
D、以上语句都可以用在类Calf中
解析:子类重写父类方法时,方法的访问权限不能小于原访问权限,在接口中,方法的默认权限就是public,所以子类重写后只能是public
A、关系规范化,数据操纵,数据控制
B、数据定义,数据操纵,数据控制
C、数据定义,关系规范化,数据控制
D、数据定义,关系规范化,数据操纵
选B。
解析:SQL 是用于访问和处理数据库的标准的计算机语言。
SQL主要功能分成四部分:
数据定义:(DDL)用于定义SQL模式、基本表、视图和索引的创建和撤消操作。
数据操纵:(DML)数据操纵分成数据查询和数据更新两类。数据更新又分成插入、删除、和修改三种操作。
数据控制:包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。
嵌入式SQL的使用规定:涉及到SQL语句嵌入在宿主语言程序中使用的规则。
A、1
B、2
C、3
D、4
解析:连续ARQ协议(GBN):发送方可以连续发送若干个数据帧,如果收到接收方的确认帧则可以继续发送。若某个帧出错,接收方只是简单地丢弃该帧及其后所有的后续帧,发送方超时后需重传该数据帧及其后续的所有数据帧。这里要注意,连续ARQ协议中,接收方一般采用累积确认的方式,即接收方对按序到达的最后一个分组发送确认;
选择ARQ协议(SR):选择重传协议中,接收方逐个地确认正确接收的分组,不管接收到的分组是否有序,只要正确接收就发送选择ACK分组进行确认。因此选择重传协议中的ACK.分组不再具有累积确认的作用。这点要特别注意与GBN协议的区别。
综上,已收到 1 号帧的确认,而 0、 2 号帧依次超时,那么重传的就是0,2两个数据帧;
可能你就要问了,那3号数据帧呢?关于3号帧的理解,0~3号帧都已发送了,对于每个发送的帧都有确认机制,现由于超时仍没有收到0和2号的确认,判定为超时,现在需要重传这两个帧,而现在正在等待3号帧的确认信息,而且等待时间还没有超时,所以就要继续等待,直至超时。
A、1小时
B、5小时
C、2.5小时
D、8小时
解析:第一个作业无需等待,完成用2小时;第二个等待2小时,完成再用2小时,一共4个小时;第三个为6小时;第四个为8小时.所以(2+4+6+8)/4=5(小时)。
A、stack
B、queue
C、multimap
D、string
解析:STL container分为两大类:
序列容器:动态数组vector,双端队列deque(本质是动态数组加索引),链表list。
关联容器:set,map,multiset,multimap
,bitset(叫bit_array更合适)。
容器适配器:stack
,queue
,priority_queue。
A、中继器
B、网桥
C、网卡
D、路由器
解析:《网络基础》
中继器、网卡:工作在物理层;
网桥:数据链路层;
路由器:网络层
路由器工作在网络的网络层上,当数据包要在不同协议、不同体系结构的网络之间进行传输时,路由器不仅可以进行路由选择,还可以进行数据包的格式转换以适应这种传送。
A、animation
B、keyframes
C、flash
D、transition
解析:《CSS》
要运用css3动画,需要运用@keyframes规则和animation属性
int foo (int x)
return x & -x
A、0
B、1
C、2
D、4
解析:《C语言、编译和体系结构》此题应该考虑符号位2^31=10000000 00000000 00000000 00000000(这里的第一位是符号位,以补码形式存储,此时输出应该为-INT_MAX)2^31-3=01111111 11111111 11111111 11111101(源码=补码,这里有两种思路理解:思路一:2^31-3不溢出,得到正数,思路二:两个补码相加)
-(2^31-3)=11111111 11111111 11111111 11111101(源码),1000000 00000000 00000000 00000011(补码)
两个补码做按位与后得到结果为00000000 00000000 00000000 00000001结果为1
A、10001011
B、11110110
C、11001001
D、11101001
解析:《编程基础》
奇偶校验码:
奇校验码:1的个数为奇数
偶校验码:1的个数为偶数
A、0010
B、1010
C、2122
D、2121
**解析:《编译体系结构、阿里》
3进制数,都满足如下的几个性质
(1)用0,1,2表示;
(2)遇3进位;3进制的数的补码同二进制的转换过程一样。
(1)先求的10的3进制表示为0101;
(2)对10的3进制表示形式取反为2121;
(3)对取反后的三进制表示形式加1位2122;
**
A、寄存器寻址
B、立即寻址
C、变址寻址
D、隐地址
解析:《编译和体系结构》
1)间接寻址(隐寻址)是指地址码指向主存中的数据,而这个数据仍然是一个地址,通过这个地址才能找到数据。这种方式提高了寻址的灵活性,扩大了寻址的范围。但由于要多次读主存,速度大为降低。
(2)寄存器寻址是指地址码的地址是寄存器的地址,由于访问寄存器的速度是非常快的,所以使用寄存器寻址有非常快的速度,但不足之处是寄存器的数量有限。因此,寄存器的地址位应该比较简短。
(3)立即寻址是指地址码就是操作数,这种寻址方式不必再次访问内存去取操作数。
(4)变址寻址是指将地址码和变址寄存器内容相加后形成数据的地址,由于变址寄存器能自动修改,这种方式对数组运算、字符串操作等批量数据的处理非常有效。
A、LinkedHashSet
B、HashMap
C、ThreadLocal
D、TreeMap
解析:《java、京东、2019、算法工程师》
Threadlocalmap使用开放定址法解决haah冲突
,Hashmap使用链地址法
解决hash冲突
#include
using namespace std;
------------------------
int main(){
int a=1,b=2,c=3;
cout<<add(a,b,c);
return 0;
}
int add(int x,int y,int z){
return x+y+z;
}
程序运行的结果是6,请为横虚线处选择合适的程序( AD )。
A、int add(int x,int y=5,int z=6);
B、int add(int x=1,int y=5,int z);
C、int add(int x=1,int y,int z=6);
D、int add(int x=1,int y=5,int z=6);
解析:《测试工程师、java工程师、360》
默认实参作为形参的初始值出现在形参列表中。我们可以为一个或多个形参定义默认值,不过需要注意一点的是,一旦某个形参被赋予了默认值,它后面的所有形参都必须有默认值;
typedef struct holder {
struct holder *next;
struct holder *prev;
char buffer[ 0 ];
}holder;
最后一行 char data[ 0 ] 作用是?
A、方便管理内存缓冲区
B、减少内存碎片化
C、使结构体数据对齐
D、没有作用