
栈队列相关
栈 概述 栈是一种具有后进先出特性的线性数据结构 数组栈 概述 栈的数组实现是一种简单、静态大小的栈,操作通过数组索引来进行 定义与实现 #include <iostream> #include <...
栈 概述 栈是一种具有后进先出特性的线性数据结构 数组栈 概述 栈的数组实现是一种简单、静态大小的栈,操作通过数组索引来进行 定义与实现 #include <iostream> #include <...
结构类型 逻辑结构 集合结构 线性结构 树形结构 图形结构 物理结构 顺序存储结构 链式存储结构 数据类型 原子类型 不可再分解的基本类型 结构类型 若干个类型组合而成,可以再分解
示例dump分析:空指针访问二 代码 int main() { init_breakpad(); int* p = nullptr; *p = 42; std::cout << "Hello W...
树转二叉树 加线 去线 层序调整(第一个孩子是二叉树的左节点,兄弟转化过来的孩子是二叉树的右节点) 森林转为二叉树 把每个树转换为二叉树 第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉...
原理 浪费资源 对于一个有n个结点的二叉链表,每个结点有指向左右孩子的指针域 所以一共是2n个指针域 而n个结点的二叉树一共n-1条分支,也就是说,其实存在2n-(n-1) = n+1个空指针域 结点信息知而不全 我...
权 树结点间的边相关的数叫权。 路径长度 从树中一个结点到另一个结点之间的分支构成两个结点之间的路径,路径上的分支数目称做路径长度。 树的路径长度就是从根到每一结点的路径长度之和。 考虑到带权的结点: 结点的带权的路...
二叉树顺序存储结构 二叉树的顺序结构就是用一维数组存储二叉树中的结点,并且结点的存储位置,也就是数组的下标要能体现结点直接的逻辑关系 二叉树链式存储结构 二叉树每个结点最多有两个孩子,所以为它设计一个数据域和两个指针...
概述 图是一种较线性表和树更加复杂的数据结构。 在图形结构中,结点之间的关系可以是任意的,图中任何两个数据元素之间都可能相关。 图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一...
定义 二叉树是n个结点的有限集合,该集合或者为空集(空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成 特点 每个结点最多有两棵子树,所以,二叉树中不存在度大于2的结点 左子树和...
1-邻接矩阵 图的邻接矩阵存储方式是用两个数组来表示图。 一个一维数组存储图中的顶点信息。 一个二维数组(称为邻接矩阵)存储图中的边或弧的信息。 设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为: $$ arc...