数据结构
- m叉树的节点数为n,那么共有n(m-1)+1个空指针域(数归法可推出)
- 入栈一定次序的序列,那么出栈的可能为卡特兰数 ( 2 n ) ! / ( ( n + 1 ) ( n ! ∗ n ! ) ) (2n)!/((n+1)(n!*n!)) (2n)!/((n+1)(n!∗n!))
- 哈希表的平均查找长度 A S L = ( 1 + 1 / ( 1 − a ) ) / 2 ( a 为 填 充 因 子 ) ASL=(1+1/(1-a))/2(a为填充因子) ASL=(1+1/(1−a))/2(a为填充因子)
- 快速排序的第i趟排序结果中至少有i个元素已处于最终位置
c语言:
- double类型所占字节为8字节,精度有效为16位,16位后都不准确
- float类型所占字节为4字节,精度有效为7位,7位后都不准确
- 实型变量默认按双精度double处理
- 宏常量没有数据类型,编译器对宏变量不进行类型检查,只进行简单的替换
- c语言不同类型进行运算时,进行类型提升往取值范围大的类型转换
- 赋值中的自动类型转换:将右侧表达式的值转换为左侧变量类型
- unicode所有字符用2个字节表示,也叫宽字节字符
- %g自动选取f或e中输出宽度较小的一种,不输出无意义的零
- %md: 当m为正整数,当输出数据宽度小于m时,在域内向右靠齐,左边多余位补空格;当输出数据宽度大于m时,按实际宽度输出,若m有前导字符零,则左边多余位补零。当m为负数,则输出数据在域内左靠齐。
- %.n 对于浮点数,n表示输出小数的位数;对于字符串,用于指定从字符串左侧开始截取的字串字符个数。
- 字符串长度为n的子串数目为 n ( n + 1 ) / 2 + 1 n(n+1)/2+1 n(n+1)/2+1;但有重时减去重的个数。
- 数组 A[M][N][P][Q] 以行优先存储,设第一个元素的首地址为r, 每个元素占L个存储单元,则元素 A[i][j][k][s] ( 0 < = i < = M − 1 , 0 < = j < = N − 1... ) (0<=i<=M-1,0<=j<=N-1...) (0<=i<=M−1,0<=j<=N−1...)的存储地址为 r + ( s + k Q + j P Q + i N P Q ) ∗ L r+(s+kQ+jPQ+iNPQ)*L r+(s+kQ+jPQ+iNPQ)∗L