408
知识点

知识点库

树与二叉树

14 个知识点
二叉树遍历3
前序=根左右,中序=左根右,后序=左右根;已知任意两种(必含中序)可还原。
哈夫曼树10
哈夫曼树是带权路径长度WPL最小的二叉树,用于构造最优前缀编码。
二叉树的顺序存储1
二叉树顺序存储用数组按层序编号,适合完全二叉树,一般二叉树会浪费空间。
二叉树的链式存储0
二叉链表每个节点含lchild、data、rchild三个域,n个节点有n+1个空指针。
二叉树的定义与性质7
二叉树每个节点最多两个子树,具有n0=n2+1等重要性质。
二叉树的先序、中序、后序遍历13
先序(根左右)、中序(左根右)、后序(左右根)遍历,递归和非递归实现,可由两种序列重建树。
层次遍历0
层次遍历用队列实现,按层从上到下、从左到右访问所有节点。
线索二叉树3
线索二叉树利用空指针域存储前驱/后继信息,ltag/rtag区分孩子和线索。
树和森林的遍历6
树的先根遍历对应二叉树先序,树的后根遍历对应二叉树中序。
并查集0
并查集支持合并和查找操作,路径压缩+按秩合并后近似O(1)。
树的基本概念0
树是n个节点的有限集合,有且仅有一个根节点,其余节点构成若干互不相交的子树。
树的存储结构0
树的存储有双亲表示法、孩子表示法和孩子兄弟表示法三种。
森林与二叉树的转换0
树转二叉树:左孩子右兄弟;森林转二叉树:各树的根通过右指针相连。
堆及其应用0
堆是完全二叉树,大顶堆每个节点≥其孩子,建堆O(n),堆排序O(n log n)。

查找

13 个知识点
顺序查找1
顺序查找逐个比较,ASL成功=(n+1)/2,可设置哨兵减少比较次数。
折半查找5
折半查找要求有序顺序表,每次比较排除一半,ASL≈log₂(n+1)-1,判定树是平衡BST。
分块查找0
分块查找将表分为若干块,块间有序块内无序,索引顺序查找ASL介于顺序和折半之间。
二叉排序树10
二叉排序树左<根<右,查找效率取决于树形,最好O(log n)最坏O(n)。
平衡二叉树7
AVL树任意节点左右子树高度差≤1,通过LL/RR/LR/RL四种旋转保持平衡,查找O(log n)。
B树10
B树是多路平衡查找树,所有叶子在同一层,适合磁盘存储,减少I/O次数。
B+树3
B+树所有关键字都在叶子节点,叶子用链表相连,支持高效范围查询。
散列表6
通过散列函数将关键字映射到存储位置,平均 $O(1)$;需处理冲突和装填因子。
散列查找性能6
散列查找性能取决于装填因子α、散列函数和冲突处理方法,α越大冲突越多。
查找的基本概念0
查找的基本概念包括查找表、关键字、ASL(平均查找长度)等核心术语。
红黑树0
红黑树是近似平衡的BST,满足5条性质,插入删除最多旋转3次,比AVL树调整代价低。
字符串模式匹配0
字符串模式匹配是在主串中查找模式串的位置,朴素法O(mn),KMP法O(m+n)。
查找算法的分析及应用0
各查找算法适用场景不同,需根据数据特征(有序性、动态性、存储方式)选择。

排序

12 个知识点