
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)算法 生成最小生成树 最短路径 对于网图来说,最短路径,是指两顶点之间经过的边上权值之和最少...
概述 从图中某一顶点出发遍历图中其余顶点,且使每一个顶点仅被访问一次,这一过程就叫做图的遍历。 深度优先遍历 也叫深度优先搜索,简称DFS。 对于连通图,从图中某个顶点v出发,访问此顶点,然后从顶点v的未被访问的邻接...
1-邻接矩阵 图的邻接矩阵存储方式是用两个数组来表示图。 一个一维数组存储图中的顶点信息。 一个二维数组(称为邻接矩阵)存储图中的边或弧的信息。 设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为: $$ arc...
概述 图是一种较线性表和树更加复杂的数据结构。 在图形结构中,结点之间的关系可以是任意的,图中任何两个数据元素之间都可能相关。 图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一...
权 树结点间的边相关的数叫权。 路径长度 从树中一个结点到另一个结点之间的分支构成两个结点之间的路径,路径上的分支数目称做路径长度。 树的路径长度就是从根到每一结点的路径长度之和。 考虑到带权的结点: 结点的带权的路...