贵州网站建站,seo外包公司怎么样,大连外贸网站制作,镇江网站建设工程1
B
IPV6的地址是由128(2的六次方)个二进制位组成的。
IPV4的地址则是由32(2的四次方)个二进制位组成的。
2
D
首先来分析几个运算符的优先级。
优先级从高到低分别是
% 取余左移与
^ 异或
| 或
13 % 9 4
表达式变为 5 1 | 4 ^ 4 7
5 左移与
^ 异或
| 或
13 % 9 4
表达式变为 5 1 | 4 ^ 4 7
5 1 10
表达式变为 10 | 4 ^ 4 7
4 7 0100 0111 0100 4
表达式变为 10 | 4 ^ 4
4 ^ 4 0100 ^ 0100 0
表达式变为 10 | 0
10 | 0 1010 | 0000 1010 10
3
C
计算步骤从右往左处理
遇到操作数数字就压入栈。
遇到运算符从栈中弹出两个操作数运算结果压入栈。
重复直到表达式结束栈中最终只剩一个值即为结果。
4 入栈
2 入栈
/
取出栈顶两个元素 计算后为 4 / 2 2 2入栈
8 入栈
−-−
取出栈顶两个元素 计算后为 8 - 2 6 6入栈
1 入栈 3 入栈取出栈顶两个元素 1 3 4 4入栈
*
取出栈顶两个元素 4 * 6 24 24入栈
表达式结束栈内元素24即为答案。
4
D
不允许连续三次退栈操作
看D的操作序列首先a进栈a出栈
然后bcdef依次进栈
f出栈e出栈d出栈才能得到序列而此时已经连续三次出栈了因此非法。
5
C
插入排序每次在已经拍好的序列内找到新数应在的位置最坏O(n^2)
冒泡排序每一轮把要排序列的最大值冒到尾部最坏O(n^2)
归并排序自底向上合并有序序列稳定O(NlogN)
快速排序自上向下每次把基准值调整到应在的位置并且把比基准值小的值放在基准值左侧把比基准值大的值放在右侧最坏情况会退化到O(n^2)即序列原本有序的情况并且选择最左侧或者最右侧值作为基准。
6
B
简要推导
设初始值
a a0
b b0
a a ^ b → 现在 a a0 ^ b0
b a ^ b (a0 ^ b0) ^ b0 a0
a a ^ b (a0 ^ b0) ^ a0 b0
7
A
首先在5个数字内选四个数字
如果选的是 0 1 2 3
由于第一位不能是 0 那么答案为 3 * 3! 18
0 1 2 4 → 同上18 种
0 1 3 4 → 18 种
0 2 3 4 → 18 种
1 2 3 4 → 没有 0可以随意排列 → 4! 24 种
因此答案为96种。
8
C
字母位有26种选择数字为有十种选择。
因此答案为2626101010676000
9
C
八进制转16进制 首先把八进制7042转化为2进制。
7111
0000
4100
2010
因此(7042)8(111000100010)2(7042)_8(1110 0010 0010)2(7042)8(111000100010)2
转化为十六进制
1110 14 E
0010 2 2
0010 2 2
因此十六进制为 E22
10
A
首先分析优先级
从高到低依次为
位与
位异或 ^
位或 |
逻辑与
逻辑或 ||
因此 首先计算 a b 5 3 101 011 001 1
再计算 c ^ b 100 ^ 011 111 7
再计算 a | c 101 ^ 100 101 5
1 || 7 5 true
11
B
第一层会循环n次
第二层会循环logn次
因此复杂度是nlogn
12
B
初始时假设第一个元素为最大值。
然后依次用剩下的每个元素与当前最大值比较如果更大则更新最大值。
每个元素只需比较一次共有 n−1 个元素需要比较。
13
A
第一位是符号位剩下的七位是数字位 七位二进制位范围是0-127
当第一位0时范围为 0 - 127
当第一位1时范围为 -127 - 0
因此为 -127 - 127
14
B
二分检索的最坏复杂的是⌈log2(n)⌉\lceil log_2(n) \rceil⌈log2(n)⌉。
15
A 算法不仅仅是计算方法而是一系列解决问题的清晰指令和策略机制。
B 正确
C 算法设计不仅要考虑如何得到正确的计算结果还需要考虑时间和空间复杂度。
D 算法设计不能忽视运算时间如果我们设计的算法时间复杂度很大这个算法的应用价值就不大。
16
TFTFBD
1^ 是异或号 是左移是右移两个数不完全一样必然不为0。
2如果改为unsigned int则该题中的机器数都是32位机器数。
对于某些高位有1的情况如果x是16位机器数x6会溢出再进行x8高8位一定为0。
而如果x是32位机器数x6不会溢出再进行x8高8位可能不为0。
由于一些计算过程中机器数中的1比较少表示一个机器数可以不用写出机器数的每一位只需要标出其有1的位置即可。比如第i位从0开始数有1就可以写1i第i位和第j位有1可以记为1i | 1j
例输入的x是32768也就是115345617
本题的代码是字符串匹配中的sunday算法用于寻找t在s中出现的第一个位置在匹配过程中模式串发现不匹配时算法能跳过尽可能多的字符以进行下一步的匹配从而提高了匹配效率。
对于模式串中的每个字符 t[j]记录它距离模式串末尾的距离 m - j。
这是 Sunday 算法的核心预处理用于在匹配失败时决定主串的下一次比较起始位置。
遍历主串 s尝试从位置 i 开始匹配 t。
匹配失败时根据主串中 当前匹配窗口后一位字符 s[i m] 的跳跃值 shift[s[i m]] 来更新 i。
重点 s[i m] 是主串中紧跟当前匹配窗口后的第一个字符。
1第一个串里不存在第二个串因此为-1
2在abbababbbab中abab第一次出现的位置应该是3下标从0开始。
3正确因为第一次2出现后的串就是20这个子串j两次就匹配成功了
4最坏复杂度可能到O(N*M)例如这个例子 s“aaaaaab” t“ab”
5a.find(b)就是在a这个串内找b这个串第一次出现的位置。
6模拟即可
18
1输入字符0对应的askii码是48。
48 0000 0000 0011 0000
148 6 0000 1100 0000 0000
x 0000 0000 0011 0000
^ 0000 1100 0000 00000000 1100 0011 0000 3120
20000 1100 0011 0000 5
0000 0000 0110 0001 ^
0000 1100 0011 0000
0000 1100 0101 0001 3153
3
0000 1100 0101 0001 1
0001 1000 1010 0010 ^
0000 1100 0101 0001
0001 0100 1111 0011 5363
2不会变化因为char最多八位左移6位或者五位都不会溢出因此short和int都一样
3会变化因为char读入的是字符传递给函数的是askii码
而换成short读入的是数字传给函数的就是数字本身了。
4输入的是10但是只会读入字符’1’传递给x的askii码为49
49 0000 0000 0011 0001
0000 0000 0011 0001 6
0000 1100 0100 0000 ^
0000 0000 0011 0001
0000 1100 0111 0001
0000 1100 0111 0001 5
0000 0000 0110 0011 ^
0000 1100 0111 0001
0000 1100 0001 0010
0000 1100 0001 0010 1
0001 1000 0010 0100 ^
0000 1100 0001 0010
0001 0100 0011 0110
5174
5
0000 0000 0000 1010 ^
0000 0010 1000 0000
0000 0010 1000 1010
0000 0010 1000 1010 ^
0000 0000 0001 0100
0000 0010 1001 1110
0000 0010 1001 1110 ^
0000 0101 0011 1100
0000 0111 1010 0010 1954
19
1pre是前一个值cur是当前值所以选A
2计算公比当前/前一个 所以选C
3如果当前的值不是公比*前一个的值那么就不是等比数列所以选D
4把当前值复制到前一个值内 所以选C
5如果 in代表循环是自然退出的没被break打断所以选A
20
1原来的数字拆开存在a数组内所以选B传入的是地址因此是*a
2转化b进制就要x%bx/b类似于短除法变换2进制。
所以选A。
3is_pal这个函数是为了判断平方是不是回文数因此对应的是cntaa所以选C
4
B代表的是一个指针因此不能填。
5
不在0到9内就是超过10进制的数字了用大写字母‘A’代表10依次类推所以选D。