数据结构
文章平均质量分 59
数据结构
poixao
这个作者很懒,什么都没留下…
展开
-
图-最小生成树
最小生成树1. 最小生成树1.1 生成树的定义1.2 最小生成树的定义2. 构造最小生成树2.1 MST性质2.2 prim算法2.2.1 prim算法实现2.3 Kruskal算法2.3.1 Kruskal算法实现3. Prim算法与Kruskal算法比较1. 最小生成树 1.1 生成树的定义 1.2 最小生成树的定义 2. 构造最小生成树2.1 MST性质 2.2 prim算法U是V的一个顶点子集第一步: 一开始U里只有一个原创 2021-11-20 15:02:54 · 816 阅读 · 0 评论 -
二叉树的性质
二叉树的性质与存储结构1、二叉树的性质1.1 在二叉树的第i层至多有2^i-1^个结点1.2 深度为k的二叉树至多有2^k^-1个结点(k≥1)1.3 叶子数 = 度为2的结点 + 11、二叉树的性质1.1 在二叉树的第i层至多有2i-1个结点 1.2 深度为k的二叉树至多有2k-1个结点(k≥1) 1.3 叶子数 = 度为2的结点 + 1对任何一棵二叉树T,如果其叶子数为n0,度为2的结点数为n2,则n0 = n2+1从下往上分析: 总边数 = 结点个数 -原创 2021-11-08 12:31:33 · 2399 阅读 · 0 评论 -
图-图的遍历
图的遍历1. 深度优先遍历1.1 DFS算法效率分析1.2 非连通图的遍历2. 广度优先遍历2.1 非连通图的广度优先遍历2.2 BFS算法的效率分析3. DFS与BFS算法效率比较 1. 深度优先遍历 1.1 DFS算法效率分析 1.2 非连通图的遍历 2. 广度优先遍历 2.1 非连通图的广度优先遍历 2.2 BFS算法的效率分析3. DFS与BFS算法效率比较...原创 2021-11-19 15:38:45 · 317 阅读 · 0 评论 -
图-最短路径
最短路径1. 什么是最短路径2. 最短路径的作用3. Dijkstra算法Dijkstra算法实现4. floyd算法1. 什么是最短路径2. 最短路径的作用3. Dijkstra算法Dijkstra算法实现4. floyd算法原创 2021-11-21 15:41:15 · 837 阅读 · 0 评论 -
图-拓扑排序
图-拓扑排序有向无环图AOV网拓扑排序算法实现 有向无环图AOV解决拓扑排序问题AOE解决关键路径问题 AOV网拓扑排序算法实现原创 2021-11-21 18:50:47 · 191 阅读 · 0 评论 -
树的基本术语
树的基本术语结点根节点结点的度非终端结点与终端结点双亲与孩子兄弟堂兄弟祖先与子孙树的深度有序树与无序树森林线性表与树的比较 结点数据元素以及指向子树的分支 根节点非空树中无前驱结点的结点 结点的度该结点最多的分支个数 非终端结点与终端结点非终端结点:度不为0,且不是根结点的分支结点叫非终端结点,也称内部结点终端结点:度为0,叫终端结点,也称叶子 双亲与孩子结点的前缀叫双亲结点的后缀叫孩子 兄弟有原创 2021-11-07 19:47:28 · 9954 阅读 · 13 评论 -
数据结构-广义表
广义表的长度与深度长度: 为广义表最上层的原子或子表相加的个数深度: 为子表最大深度+1例如:LS=(f,(),(e),(a,(b,c,d)))长度:子元素的个数(f、()、(e)、(a,(b,c,d)),四个子元素),长度为4深度:左边最大括号+子元素左括号最多的个数,子元素(a,(b,c,d))左括号最多,为2(即:1+2=3),深度为3LS=(a)的长度为1,深度为0<有一个原子的广义表,深度为0>LS=(a,b)的长度为2,深度为1LS=()的长度为0,深度为1原创 2021-10-31 18:13:10 · 2170 阅读 · 0 评论 -
(笔记)数据结构--算法基础
抽象数据类型的实现原创 2021-09-14 13:55:45 · 67 阅读 · 0 评论 -
遍历二叉树与线索二叉树
遍历二叉树与线索二叉树遍历二叉树算法描述先序遍历二叉树中序遍历二叉树后序遍历二叉树例题根据遍历序列确定二叉树根据先序和中序确定二叉树根据后序和中序确定二叉树线索二叉树遍历二叉树算法描述先序遍历二叉树访问根结点A–访问根结点A的左子树B–访问根结点B的左子树E–访问根结点E的左子树(空)–根结点E的右子树L–访问根结点L的左子树(空)–访问根结点L的右子树(空)–访问根结点B的右子树(空)–访问根结点A的右子树D–访问根结点D的左子树H–访问根结点H的左子树M–访问根结点M的左子树(空)–原创 2021-11-10 20:32:16 · 453 阅读 · 0 评论 -
数据结构--矩阵
数组的顺序存储在m*n的二维数组中,如何求a[i][j]元素在内存中存放的位置1 2 34 5 67 8 9比如要求a[i][j]在内存中所占位置公式: a[0]+(i*n+j)*La[0]代表数组的首地址n代表数组的行数L代表一个元素的大小例子:a是3*3的数组,并且首地址是2000,每个元素占4Bype,求a[2][2]在内存中的地址2000+(2*3+2)*4 特殊矩形的压缩存储一.对称矩阵的概念:首先看一个对称矩阵:以深灰色为对称轴,由原创 2021-10-31 12:58:34 · 2454 阅读 · 1 评论 -
数据结构-树与森林
数据结构-树与森林1.树的存储结构1.1 双亲表示法1.2 孩子链表1.3 孩子兄弟表示法2.树与二叉树的转换3.二叉树转换成树4.森林与二叉树的转换5.二叉树转换成二叉树6.树和森林的遍历6.1 树的遍历6.2 森林的遍历6.2.1 先序遍历6.2.2 中序遍历1.树的存储结构1.1 双亲表示法1.2 孩子链表1.3 孩子兄弟表示法左为孩子,右为兄弟2.树与二叉树的转换在二叉树中,左指针存储孩子,右指针存储兄弟3.二叉树转换成树4.森林与二叉树的转换5.二原创 2021-11-11 15:04:59 · 723 阅读 · 0 评论 -
图的存储结构
图的存储结构1.邻接矩阵1.1 无向图的邻结矩阵1.2 有向图和网的邻接矩阵2. 采用邻接表示法创建无向网2.1 邻接矩阵表示法的优缺点2.1.1 邻接矩阵的优点2.1.2 邻接矩阵的缺点2.2 链式存储结构--邻接表2.3 无向图的邻接表2.4 有向图的邻接表2.5 邻接表的算法实现2.6 邻接表示法的优缺点以及与邻接矩阵的关系1.邻接矩阵1.1 无向图的邻结矩阵 1.2 有向图和网的邻接矩阵 2. 采用邻接表示法创建无向网 2.1 邻接原创 2021-11-18 18:15:19 · 392 阅读 · 0 评论 -
哈夫曼树及其应用
哈夫曼树及其应用哈夫曼树的基本概念路径与结点的路径长度树的路径长度权哈夫曼树哈夫曼树的构造算法1总结算法实现哈夫曼编码哈夫曼编码算法实现文件的编码与译码哈夫曼树的基本概念 路径与结点的路径长度 树的路径长度 权 哈夫曼树 哈夫曼树的构造算法1总结 算法实现 哈夫曼编码 哈夫曼编码算法实现 &n原创 2021-11-13 16:30:37 · 396 阅读 · 0 评论 -
图的类型定义
图的类型定义图的类型定义图的基本操作 图的类型定义图的基本操作当中比较重要的操作原创 2021-11-17 19:36:54 · 296 阅读 · 0 评论 -
树的存储结构
树的存储结构二叉树的顺序存储二叉树的顺序存储结构二叉树的链式存储二叉树的链式存储结构三叉链表二叉树的顺序存储二叉树的顺序存储结构 二叉树的链式存储 二叉树的链式存储结构三叉链表...原创 2021-11-08 16:43:21 · 211 阅读 · 0 评论 -
数据结构之线性表
这里写目录标题线性表线性表的类型定义线性表的基本操作线性表的顺序表示和实现数据结构 线性表案例2线性表的类型定义线性表的基本操作操作解释InitList(&L)构造一个 空的 线性表LDestroylist(&L)销毁 线性表LClearList(&L)将 线性表L 重置为空表ListEmpty(L)判断 线性表L 是否是空表 是 返回TRUE 否 返回 FLASEL原创 2021-09-16 15:47:29 · 125 阅读 · 0 评论 -
图的基本概念与术语
图的基本概念与术语图的基本概念有向图与无向图完全图图的定义与术语度路径、简单路径、回路、简单回路连通图权与网子图连通分量强连通分量极小连通子图、生成树、生成森林图的基本概念有向图与无向图 完全图 图的定义与术语 度无向图的度就是边的个数有向图的入度是: 进来的弧的个数有向图的出度是: 出去的弧的个数有向图的度为: 入度加出度 路径、简单路径、回路、简单回路路径:假如 a1 到 a4,那么路径为 a1,a3,a4路径长度:原创 2021-11-17 19:20:15 · 3721 阅读 · 0 评论 -
二叉树的定义
二叉树的定义为什么要研究二叉树二叉树的定义树与二叉树的区别二叉树的5种基本形态为什么要研究二叉树二叉树的定义二叉树不是树的特殊情况,它们是两个概念树与二叉树的区别二叉树的5种基本形态...原创 2021-11-07 21:41:05 · 62 阅读 · 0 评论 -
动态查找表-B+树
动态查找表-B+树B+树的性质B树与B+树的区别 B+树不是B树的升级版,而是采用了分块思维的算法思想分支结点的关键字存放的是索引信息B+树仅叶结点包含信息,非叶结点都只是起到索引作用B+树的性质这是一棵4阶B+树B树与B+树的区别...原创 2021-12-03 19:41:07 · 214 阅读 · 0 评论 -
动态查找表-红黑树
动态查找表-红黑树什么是红黑树红黑树的演变红黑树与2-3-4树红黑树的性质红黑树的插入红黑树的删除 个人红黑树笔记什么是红黑树红黑树的英文是“Red-Black Tree”,简称 R-B Tree,它是一种不严格的平衡二叉查找树。 红黑树的演变红黑树自然是一种二叉查找树,这种树结构从根节点开始,左子节点小于它,右子节点大于它。每个节点都符合这个特性,所以易于查找,是一种很好的数据结构。但是它有一个问题,就是容易偏向某一侧,这样就像一个链表结构了,失去了树结构的优点,查找时原创 2021-12-09 22:14:02 · 446 阅读 · 1 评论 -
二叉排序树与平衡二叉树
树表的操作二叉排序树二叉排序树的定义二叉排序树的存储结构二叉排序树的操作二叉排序树插入二叉排序树创建二叉排序树查找二叉排序树删除被删除的结点是叶子结点被删除的结点只有左子树或者右子树被删除的结点即有左子树又有右子树平衡二叉树平衡二叉树的定义失衡二叉排序树的分析与调整LL型调整RR型调整LR型调整RL型调整二叉排序树二叉排序树的定义二叉排序树的存储结构二叉排序树的操作二叉排序树插入 二叉排序树创建 二叉排序树查找二叉排序树删除被删除的结点原创 2021-11-24 17:59:26 · 756 阅读 · 0 评论 -
动态查找表-B树
动态查找表-B树M叉排序树M叉排序树查找B树的性质B树的插入B树的删除终端结点的删除1.终端结点的关键字个数大于(m/2-1)2.终端结点的关键字个数小于(m/2-1),且兄弟结点的个数大于(m/2-1)3.终端结点的关键字个数小于(m/2-1),且兄弟结点的个数等于(m/2-1)非终端结点删除 在了解B树之前,先了解什么叫M叉排序树M叉排序树 M叉排序树查找查找6262 > 50指针往后移62 < 7062如果存在的话,一定会在70的左子树上62原创 2021-12-03 16:12:24 · 562 阅读 · 0 评论 -
平衡二叉树的删除
平衡二叉树的删除平衡二叉树的删除平衡二叉树删除节点的三种情况删除叶子节点被删的结点只有左子树或只有右子树被删的结点既有左子树又有右子树 平衡二叉树的删除平衡二叉树是最优的二叉排序树,因此删除操作,也和二叉排序树的删除差不多,只是在删除完节点后,要重新判断左右孩子的深度,如果失衡,就要调整 平衡二叉树删除节点的三种情况① 被删除的节点为叶子节点,就找到了要删除的节点② 被删除的节点有左子树或者右子树③ 被删除的节点既有左子树,又有右子树我们需要知道这么一点,左子树上节点的转载 2021-11-25 21:12:52 · 6566 阅读 · 4 评论 -
图-关键路径
这里写目录标题用AOE网表示工程活动求解关键路径求解关键路径用AOE网表示工程活动求解关键路径 求解关键路径 事件最早发生时间计算 事件最迟发生时间计算 ...原创 2021-11-21 22:57:04 · 339 阅读 · 0 评论