
大话数据结构_线性表_单链表
顺序存储结构 用一段地址连续的存储单元存放存放线性表的数据元素 //结构 #define MAX_SIZE 20 typedef int ElemType; typedef struct { ElemType dat...
顺序存储结构 用一段地址连续的存储单元存放存放线性表的数据元素 //结构 #define MAX_SIZE 20 typedef int ElemType; typedef struct { ElemType dat...
概述 树是一种层次结构的数据结构,它由节点(Node)和边(Edge)组成 特点 层次关系 树形结构具有明确的层次关系,最上层的节点称为根节点(Root) 每个节点都有零个或多个子节点(Child),没有父节点(Pa...
原理 浪费资源 对于一个有n个结点的二叉链表,每个结点有指向左右孩子的指针域 所以一共是2n个指针域 而n个结点的二叉树一共n-1条分支,也就是说,其实存在2n-(n-1) = n+1个空指针域 结点信息知而不全 我...
栈 概述 栈是一种具有后进先出特性的线性数据结构 数组栈 概述 栈的数组实现是一种简单、静态大小的栈,操作通过数组索引来进行 定义与实现 #include <iostream> #include <...
1-邻接矩阵 图的邻接矩阵存储方式是用两个数组来表示图。 一个一维数组存储图中的顶点信息。 一个二维数组(称为邻接矩阵)存储图中的边或弧的信息。 设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为: $$ arc...
二叉树顺序存储结构 二叉树的顺序结构就是用一维数组存储二叉树中的结点,并且结点的存储位置,也就是数组的下标要能体现结点直接的逻辑关系 二叉树链式存储结构 二叉树每个结点最多有两个孩子,所以为它设计一个数据域和两个指针...
树转二叉树 加线 去线 层序调整(第一个孩子是二叉树的左节点,兄弟转化过来的孩子是二叉树的右节点) 森林转为二叉树 把每个树转换为二叉树 第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉...
时间复杂度 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...
定义 二叉树是n个结点的有限集合,该集合或者为空集(空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成 特点 每个结点最多有两棵子树,所以,二叉树中不存在度大于2的结点 左子树和...
结构类型 逻辑结构 集合结构 线性结构 树形结构 图形结构 物理结构 顺序存储结构 链式存储结构 数据类型 原子类型 不可再分解的基本类型 结构类型 若干个类型组合而成,可以再分解