摘要:
树是由\(n (n \ge 0)\)个节点组成的有限集合(记为\(T\))。如果\(n=0\),它是一棵空树;如果\(n \gt 0\),这 \(n\)个节点中存在一个节点作为树的根节点,其余节点可分为\(m (m \ge 0)\)个互不相交的有限集\(T_1、T_2、...T_m,\)其中每个集合本身又是一棵树,称为根节点的子树。「这是一个递归定义」一些基本概念节点的度:节点中拥有的子树个数或者... 阅读全文
摘要:
基本概念排序算法的稳定性:如果待排序的表中,存在多个关键字相同的元素,经过排序后这些具有相同关键字的元素之间的相对次序保持不变,则称这种排序算法是稳定的,反之则为不稳定。内排序:排序过程中,整个表都是放在内存中处理,排序时不涉及数据的内、外交换外排序:指能够处理极大量数据的排序算法,外排序处理的数据不能一次装入内存,只能放在读写较慢的外存储器(通常是硬盘)上,外排序通常采用的是一种“排序-归并”的... 阅读全文
摘要:
深度优先遍历:也有称为深度优先搜索,简称为\(DFS\)。深度优先遍历其实是一个递归的过程,就像是一棵树的前序遍历。从图中某个顶点\(v\)出发,访问此顶点,然后从\(v\)的未被访问的邻接点出发深度优先遍历图,直至图中所有和\(v\)有路径相通的顶点都被访问到。这里讲到的是连通图,对于非连通图,只需要对它的连通分量分别进行深度优先遍历,即在先前一个顶点进行一次深度优先遍历后,若图中尚有顶点未被访... 阅读全文
摘要:
\(B-\)树,即为\(B\)树,也称为多路平衡查找树。\(B\)树所有节点孩子节点最大值称为\(B\)树的阶,通常用\(m\)表示,从查找效率考虑要求\(m \ge 3\)。一棵\(m\)阶\(B\)树或者是一棵空树,或者是满足以下条件的\(m\)次的树:①定义任意非叶子结点最多只有\(m\)个儿子;②根结点的儿子数为\([2, m]\);③除根结点以外的非叶子结点的儿子数为\([⌈m/2⌉, ... 阅读全文
摘要:
平衡二叉树(\(Balanced \ Binary \ Tree\))又被称为\(AVL\)树,且具有以下性质:它是一 棵空树或是具有以下性质的二叉排序树:其左右两棵子树的高度差的绝对值不超过 \(1\),并且左右两个子树都是一棵平衡二叉树。二叉树中各节点的平衡因子定义为左子树的高度减去它的右子树的高度。根据定义平衡二叉树的平衡因子只可能是\(-1,0,1\)。只要二叉排序树有一个节点的平衡因子的... 阅读全文
摘要:
二叉排序树又称“二叉查找树”、“二叉搜索树”(简称\(BST\))。二叉排序树:或者是一棵空树,或者是具有下列性质的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树。从BST性质可推出:按中序遍历该树所得到的中序序列是一个递增的有序序列构造\(BST:\)查找删除:删除一个节点... 阅读全文
摘要:
同一棵二叉树(节点值均不相同)具有唯一的先序、中序、后序序列和层次序列,但不同的二叉树可能具有相同的先序、中序序列、后序序列和层次序列,二叉树的构造就是根据提供的某些遍历序列构造二叉树的结构。由先序序列和中序序列构造二叉树:先序序列提供了二叉树的根节点的信息(任何一棵二叉树的先序序列的第一个节点为根节点),而中序序列提供了由根节点将整个序列分为左、右子树的信息。确定树的根节点:先序遍历的第一个节点... 阅读全文
摘要:
线性表是由 \(n\)个元素\((n \ge 0)\)组成的有限序列,线性表的特征所有数据元素类型相同线性表是由有限个元素构成线性表中的数据元素是与位置是有关的,这一点表明线性表不同于集合,线性表中每个元素都有一个对应的序号,线性表中的元素可以重复出现。线性表的逻辑结构一般表示为:\( a_1,a_2,...,a_{i-1},a_i,a_{i+1},...,a_n \)除起始元素没有\(a_1\)... 阅读全文