随笔分类 -  06_数据结构与算法

摘要:首先堆的本质是一个棵完全二叉树; 什么是二叉树、满二叉树、完全二叉树?见链接 树、二叉树(满二叉树、完全二叉树)概念:https://blog.csdn.net/sinat_41144773/article/details/89530403 最大堆(大顶堆):顶结点最大,父亲结点比孩子结点大; 最小 阅读全文
posted @ 2020-02-26 11:06 Grooovvve 阅读(180) 评论(0) 推荐(0)
摘要:待补充 阅读全文
posted @ 2019-05-07 21:20 Grooovvve 阅读(200) 评论(0) 推荐(0)
摘要:待补充 阅读全文
posted @ 2019-05-07 21:18 Grooovvve 阅读(392) 评论(0) 推荐(0)
摘要:待补充 阅读全文
posted @ 2019-05-07 21:17 Grooovvve 阅读(236) 评论(0) 推荐(0)
摘要:接下来讨论利用可利用空间表进行动态存储分配的方法。目录表的情况比较简单,这里仅就链表的情况进行讨论。 可利用空间表包含所有可分配的空闲块,每一块是链表中的一个结点。 当用户请求分配时,系统从可利用空间表中删除一个结点分配之。 当用户释放其所占内存时,系统立即回收并将它插入到可利用空间表中。 因此,可 阅读全文
posted @ 2019-05-07 21:15 Grooovvve 阅读(573) 评论(0) 推荐(0)
摘要:接下来要涉及具体的存储分配。结构中的每个数据元素都占有一定的内存位置。 在程序执行的过程当中数据元素的存取是通过对应的存储单元来进行的。 有了高级语言之后,程序员不需要直接和内存地址打交道了。 程序中使用的存储单元都由逻辑变量(标识符)来表示。 它们对应的内存地址都是由编译程序在编译或执行的时候进行 阅读全文
posted @ 2019-05-07 21:09 Grooovvve 阅读(368) 评论(0) 推荐(0)
摘要:最短路径分为两种:从某个源点到其余各顶点的最短路径、每一对顶点之间的最短路径; 从某个源点到其余各顶点的最短路径 每一对顶点之间的最短路径 阅读全文
posted @ 2019-05-07 21:08 Grooovvve 阅读(177) 评论(0) 推荐(0)
摘要:一个无环的有向图称做有向无环图,简称DAG图。 检查一个有向图是否存在环要比无向图复杂。 对于无向图来说,若深度优先遍历过程中遇到回边(即指向已访问过的顶点的边),则必定存在环。 而对于有向图来说,这条回边有可能是指向深度优先生成森林中另一棵生成树上顶点的弧。 有向无环图也是描述一项工程或系统的进行 阅读全文
posted @ 2019-05-07 21:07 Grooovvve 阅读(779) 评论(0) 推荐(0)
摘要:一、无向图的连通分量和生成树 在对无向图进行遍历时,对于连通图,仅需从图中任一顶点出发,进行深度优先搜索或广度优先搜索,即可访问到图中所有顶点。 对非连通图,则需从多个顶点出发进行搜索,而每一次从一个新的起始点出发进行搜索的过程中得到的顶点访问序列恰为其各个连通分量的顶点集。 假设E(G)为连通图G 阅读全文
posted @ 2019-05-07 21:06 Grooovvve 阅读(472) 评论(0) 推荐(0)
摘要:我们希望从图中某一顶点出发访遍图中其余顶点,且使每一个顶点仅被访问一次。 这一过程就叫做图的遍历。 图的遍历算法是求解图的连通性问题、拓扑排序和求关键路径等算法的基础。 然而,图的遍历要比树的遍历复杂得多。 因为图的任一顶点都可能和其余的顶点相邻接。 所以,在访问了某个顶点之后,可能沿着某条路径搜索 阅读全文
posted @ 2019-05-07 21:03 Grooovvve 阅读(296) 评论(0) 推荐(0)
摘要:由于图的结构比较复杂,任意两个顶点之间都可能存在联系,因此无法以数据元素在存储区中的物理位置来表示元素之间的关系。 即图没有顺序映像的存储结构。 另一方面,多重链表表示图是一件自然的事。它是一种最简单的链式映像结构。 即以一个由一个数据域和多个指针域组成的结点表示图中的一个顶点。 其中,数据域存储该 阅读全文
posted @ 2019-05-07 20:58 Grooovvve 阅读(481) 评论(0) 推荐(0)
摘要:本文参考链接: 图的定义和各种术语总结:https://blog.csdn.net/eyishion/article/details/53234255 1.1 图的定义 图(Graph)中的数据元素通常称做顶点(Vertex)。两个顶点之间的连线叫做边(Edge)。 V是顶点的有穷非空集合。 在图中 阅读全文
posted @ 2019-05-07 20:53 Grooovvve 阅读(742) 评论(0) 推荐(0)
摘要:参考链接:https://blog.csdn.net/wozaipermanent/article/details/78954088 这个问题问的是:具有n个结点的不同形态的树有多少棵? 可以先讨论二叉树的情况,然后可将结果推广到树。 这个问题继续表述成: 具有n个结点,互不相似的二叉树的数目有多少 阅读全文
posted @ 2019-05-07 14:51 Grooovvve 阅读(366) 评论(0) 推荐(0)
摘要:参考链接: 回溯法(八皇后问题):http://data.biancheng.net/view/34.html 详细讲解回溯算法:https://blog.csdn.net/gardenpalace/article/details/84625537 回溯算法超通俗易懂详尽分析:https://blo 阅读全文
posted @ 2019-05-07 14:50 Grooovvve 阅读(1380) 评论(0) 推荐(0)
摘要:赫夫曼树:http://data.biancheng.net/view/33.html 赫夫曼树的原理和构建:https://www.cnblogs.com/enumhack/p/7473043.html 赫夫曼树又称为最优树,是一类带权路径长度最短的树。 最优二叉树(赫夫曼树): 路径:一个树结点 阅读全文
posted @ 2019-05-07 14:45 Grooovvve 阅读(376) 评论(0) 推荐(0)
摘要:关键词:自反、反自反、关系、二元关系、等价关系、等价类、集合、 一、离散数学中一些概念 自反性(Reflexive):英文名中可以看出可以理解成,自己反映自己; 对称性() 传递性() 二、 这块比较复杂,后面慢慢补充 阅读全文
posted @ 2019-05-07 10:15 Grooovvve 阅读(1082) 评论(0) 推荐(0)
摘要:数据结构教程:http://data.biancheng.net/view/30.html 一、树的存储结构 在使用树结构描述实际问题时,大多数不是二叉树,更多的是普通的树结构,在存储具有普通树结构的数据时,经常使用的方法有3种: 1、双亲表示法 取一块连续的内存空间,在存储每个结点的同时,各自都附 阅读全文
posted @ 2019-05-06 22:05 Grooovvve 阅读(702) 评论(1) 推荐(1)
摘要:所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。 访问结点所做的操作依赖于具体的应用问 题。 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。 一、遍历二叉树 数据结构-二叉树遍历:https://www.cnblogs.com/polly 阅读全文
posted @ 2019-04-27 18:40 Grooovvve 阅读(551) 评论(0) 推荐(0)
摘要:1、二叉树的定义: 二叉树(Binary True)是另一种树型结构,它的特点是每个结点至多只有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。 以下是二叉树的五种基本形态: 2、二叉树的性质: 二叉树的结构特点和性质:https://blog.csdn 阅读全文
posted @ 2019-04-27 16:51 Grooovvve 阅读(402) 评论(0) 推荐(0)
摘要:树型结构是一类重要的非线性数据结构。 其中以树和二叉树最为常用。 直观来看,树是以分支关系定义的层次结构。 树是n个结点的有限集。 树的结点包含一个数据元素及若干个指向其子树的分支。 结点拥有的子树数称为结点的度。 度为0的结点称为叶子或者终端结点。 度不为0的结点称为非终端结点或分支结点。 除根结 阅读全文
posted @ 2019-04-27 16:27 Grooovvve 阅读(696) 评论(0) 推荐(0)