考研数据结构

绪论

线性结构:一对一

3 栈和队列

顺序栈

top可能是-1、0,也可能是maxsize、maxsize+1
入栈:top初始是-1时,先++再存数;初始是1时,先存数再++;目的是不能浪费数组空间

表达式

中缀后缀不是树的遍历
考研数据结构_第1张图片
运算符不是括号,如果栈顶是"("则运算符入栈

KMP

出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头再去做匹配了。
考研数据结构_第2张图片
next[j]意思是,第j个字符匹配失败(不知道主串第j个字符是谁),则从第next[j]个字符开始比较,因为next是数组,所以j从0开始。
next[0]默认-1
考研数据结构_第3张图片
nextval数组,知道失败前的字符,也知道失败处肯定不是某个数(知道主串第j个字符不是谁)。例如主串5肯定不是b,都不匹配是nextval[j]= -1

广义表

广义表的head与tail部分最外层有一层括号
head取表第一个元素,不需要额外加括号
head[(a,b)]=a
head[(a),b]=(a)
取tail时最外面加括号
tail[(a,b,(c,d))]=(b,(c,d))

森林与树

结点的度:某个结点的子树个数,叶子结点无度
分支节点:度不为零的的结点(非叶子结点)

哈夫曼树

的带权路径长度WPL是所有叶子结点带权路径长度之和
哈弗曼编码:左分支为0,右分支为1,从根到叶节点

查找

哈希表 (散列表)

哈希函数的构造

考研数据结构_第4张图片

哈希冲突的解决

考研数据结构_第5张图片
冲突发生,是(冲突余数+1)%m

AVL

考研数据结构_第6张图片
成功AVL是已有关键字的成功,失败AVL是任意元素的失败

你可能感兴趣的:(考研,1024程序员节)