
Dump分析:空指针访问二,重复释放堆内存二
示例dump分析:空指针访问二 代码 int main() { init_breakpad(); int* p = nullptr; *p = 42; std::cout << "Hello W...
示例dump分析:空指针访问二 代码 int main() { init_breakpad(); int* p = nullptr; *p = 42; std::cout << "Hello W...
栈 概述 栈是一种具有后进先出特性的线性数据结构 数组栈 概述 栈的数组实现是一种简单、静态大小的栈,操作通过数组索引来进行 定义与实现 #include <iostream> #include <...
单链表 概述 单链表是一种常见的数据结构,由一组节点(Node)组成,每个节点包含数据部分和指向下一个节点的指针(通常称为 next 指针) 单链表的头节点指向第一个元素,而尾节点的 next 指针指向 nullpt...
概述 树是一种层次结构的数据结构,它由节点(Node)和边(Edge)组成 特点 层次关系 树形结构具有明确的层次关系,最上层的节点称为根节点(Root) 每个节点都有零个或多个子节点(Child),没有父节点(Pa...
时间复杂度 O(1) O(logn) O(n) O(nlogn) O(n^2) O(n^3) O(2^n) O(n!) O(n^n) $$ O(1) < O(log_n)<O(n)<O(nlog_n...
最小生成树 把构造联通网的最小代价生成树称为最小生成树 普利姆(Prim)算法 生成最小生成树 克鲁斯卡尔(Kruskal)算法 生成最小生成树 最短路径 对于网图来说,最短路径,是指两顶点之间经过的边上权值之和最少...
1-邻接矩阵 图的邻接矩阵存储方式是用两个数组来表示图。 一个一维数组存储图中的顶点信息。 一个二维数组(称为邻接矩阵)存储图中的边或弧的信息。 设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为: $$ arc...
树转二叉树 加线 去线 层序调整(第一个孩子是二叉树的左节点,兄弟转化过来的孩子是二叉树的右节点) 森林转为二叉树 把每个树转换为二叉树 第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉...
定义 二叉树是n个结点的有限集合,该集合或者为空集(空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成 特点 每个结点最多有两棵子树,所以,二叉树中不存在度大于2的结点 左子树和...
顺序存储结构 用一段地址连续的存储单元存放存放线性表的数据元素 //结构 #define MAX_SIZE 20 typedef int ElemType; typedef struct { ElemType dat...