1. 二进制正数的原码/反码/补码相同,第一位0表示正数,1表示负数
原码
01010101 =64+16+4+1=85
11010101 =-85
反码
01010101
10101010
补码
01010101
11010101+1=11010110
补码的0只有一个编码,原码和反码则有两个
00000000
10000000
11111111+1=0000000
2. 字节(Byte,B)是基本单位,位(bit,b)是最小单位
1个B 字节=8个二进制位 b 位
KB MB GB TB 递进单位为 2^10
4. 图片所占的存储空间=800*600*16/8/1024 KB
9. 甲乙丙选课,组合+乘法原理,C(4,2)*C(4,3)*C(4,3)
10. n个顶点的树有n-1条边,m条边的连通图要变成树 就要减去 m-(n-1)
11. 逆序对,请看归并排序
12. 表达式的后缀形式,可用中序遍历画出表示式,然后再写出其后序表示式。abc+*d*,前缀:**a+bcd
13. 链式栈,指针变量,
top->next=s; //首先把栈顶与新增元素连接起来;
top=s; //然后更新栈顶。
14.
字符个数 子串
1 9
2 8
3 7
……
9 1
空集 1
空集要算一个子串""
(1+9)*9/2+1=46
15.
十进制小数 13.375 对应的二进制数。整数部分是除2,倒序取余数,小数部分是乘2,顺序取整数
2 13
6 1
3 0
1 1
0.375*2=0.75*2=1.5 0.5*2=1.0
011
1101.011
16. 栈 a, b, c, d, e, f, g 顺序入栈
a, d, b, c, g, f, e d先与bc出栈,那么bc出栈顺序比为cb
17. 和11题一样,和归并排序有关。设 A 和 B 是两个长为 n 的有序数组,现在需要将 A 和 B 合并成一个排好序的数组,任何以元素比较作为基本运算的归并算法在最坏情况下至少要做( )次比较。
最坏就是2n个数两两比较,共比较2n-1次
19. 一家四口人,至少两个人生日属于同一月份的概率是( )(假定每个人生日属于每个月份的概率相同且不同人之间相互独立)。
乘法原理
(12*12*12*12-12*11*10*9)/12*12*12*12= 41/96