带权路径长度 路径长度:路径上所经历边的个数。 结点的权:结点被赋予的值。 树的带权路径长度 WPL,树中所有叶结点的带权路径长度之和,记为WPL= 哈夫曼树,也称最优二叉树...
带权路径长度 路径长度:路径上所经历边的个数。 结点的权:结点被赋予的值。 树的带权路径长度 WPL,树中所有叶结点的带权路径长度之和,记为WPL= 哈夫曼树,也称最优二叉树...
平衡二叉树(AVL),任意结点的平衡因子的绝对值不超过一(左子树高度-右子树高度)。 高度为h的最小平衡二叉树的结点数。 平衡二叉树的判断 利用递归的后序遍历过程: 1、判断...
二叉排序树(BST),也称二叉查找树。 二叉排序树或者为空树,或者为非空树,当为非空树时有如下特点: 1、若左子树非空,则右子树所有的结点关键字值均小于根节点的关键字。 2、...
并查集 一种简单的集合表示。 通常用树的双亲表示法作为并查集的存储结构。 通常用数组元素的下标代表元素名,用根结点的下标代表子集合名,根结点的双亲结点为负数。 常用方法: I...
树、森林与二叉树的转换 树和二叉树转换 左孩子右兄弟原则。 每个结点左指针指向它的第一个孩子结点,右指针指向它在树中相邻的兄弟结点。 森林与二叉树的转换 规则:将每一棵树转换...
双亲表示法 采用一组连续的存储空间来存储每个结点,同时在每个结点中增设一个伪指针,指示双亲结点在数组中的位置。根结点的下标为0,其伪指针域为-1。 #defienMAX_TR...
二叉树的遍历 按某条上搜索路径访问树中的每个结点,树的每个结点均被访问一次,而且只访问一次。 遍历的三种方式: 1、先序便利(根左右); 2、中序便利(左根右); 3、中序便...
二叉树 二叉树是n(n>=0)个结点的有限集合 1、n=0时,二叉树为空 2、n>0时,由根结点和两个互不相交的被称为根的左子树和右子树组成。左子树和右子树叶分别是一棵二叉树...
树是n(n>=0)个结点的有限集合,n=0时,称为空树。 而任意非空树应满足: 1、有且仅有一个特定的称为根的结点。 2、当n>1时,其余结点可分为m(m>0)个互不相交的有...
队列(Queue)只允许在表的一端进行插入,表的另一端进行删除操作的线性表。 特点:先进先出。 队列的基本操作 InitQueue(&Q):初始化队列,构造一个空队列Q。 Q...
本章总览 栈(Stack)只允许在一端进行插入或删除操作的线性表。 栈的相关名词:入栈、出栈、栈顶、栈底、后进先出。 栈的基本操作 InitStack(&S):初始化一个空栈...
单链表的定义 线性表的链式存储又称单链表,通过一组任意的存储单元来存储线性表中的数据元素。 L = (,,,...,) typedef struct LNode{ El...
线性表的顺序存储又称顺序表。 一组地址连续存放的存储单元依次存放线性表的元素,从而使得逻辑上相邻的两个元素在物理位置上也相邻。 数组静态分配 #define MaxSize ...
线性表是具有相同类型的n(n>=0)个元素的有限序列,其中n为表长,当n=0时,该表为空表。 若L命名为线性表,则一般表示:L=(,,,...,,,...,)。 线性表的特点...
算法是用来解决特定问题的方法,它是指令的有限序列,每条指令表示一个或多个操作。 算法的特性:有穷性、确定性、可行性、输入、输出。 算法效率的度量 1、正确性:能够正确的解决问...
数据由4部分组成: 1、数据:一个信息的载体; 2、数据对象:具有相同数据的元素的集合,是一个数据的子集; 3、数据元素:数的基本单位,通常作为一个整体进行考虑和处理; 4、...