1.strcpy(s1,s2)这个函数是把s2字符串拷贝到s1这个字符串,同时也把s2的 ‘\0’ 拷过去. strlen()遇到 ’ \0 ’ 停止.
2.一般转义字符:这种转义字符,虽然在形式上由两个字符组成,但只代表一个字符。常用的一般转义字符为:\a \n \t \v \b \r \f \\ \’ \";
3.八进制转义字符:它是由反斜杠’\’和随后的1~3个八进制数字构成的字符序列。例如,’\60’、’\101’、’\141’分别表示字符’0’、’A’和’a’。因为字符’0’、’A’和’a’的ASCII码的八进制值分别为60、101和141。
4.十六进制转义字符:它是由反斜杠’\’和字母x(或X)及随后的1~2个十六进制数字构成的字符序列。例如,’\x30’、’\x41’、’\X61’分别表示字符’0’、’A’和’a’。因为字符’0’、’A’和’a’的ASCII码的十六进制值分别为0x30、0x41和0x61。
5.平衡二叉树的左右子树高度之差的绝对值不超过1.
6.选择排序包括直接选择排序和堆排序,都是不稳定的算法.
7.哈弗曼编码不是唯一的.我们可以将左子树定为1右子树定为0也可以反之,不同的方案获得的编码值是不同的,但每个字符的编码长度是固定的。所以说,使用哈夫曼编码字符得到的编码值不唯一,但是它们所占的编码位数唯一。
8.哈夫曼编码采用变长编码对源符号进行编码,变长编码表根据源符号出现概率得到,源符号出现概率越大,对应编码越短,反之越长。这样得到的编码平均长度和期望值最小,可以压缩存储。
9.KMP算法是一种改进的字符串匹配算法,它是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息。KMP算法的特点是在模式匹配时指示主串的指针不会变小,因为指示主串的指针不需要回溯。
10.串就是字符串,是一种特殊的线性表,它的每个结点仅由一个字符组成。
串值也可用链表来存储,由于串的数据元素是一个字符,它只有8位二进制数, 因此用链表存储时,通常一个结点中存放的不是一个字符,而是一个子串,例如: 在编辑系统中,整个文本编辑区可以看成是一个串,每一行是一个子串,构成一个结点。
11.设模式串的长度为m,目标串的长度为n,当n≈m且处理只匹配一次的模式时,朴素的匹配(即子串定位函数)算法所花的时间代价可能会更为节省。朴素匹配不用考虑花时间去计算next数组。
12.模型匹配就是模式匹配。假设有A、B两串,查找A中是否存在子串与B相等,并返回该子串的下标。
13.String:字符串常量。StringBuffer:字符串变量,是线程安全的。StringBuilder:字符串变量,非线程安全的。从执行效率上来看String<StringBuffer<StringBuilder
.