- 博客(4)
- 收藏
- 关注
原创 数据结构:二项队列原理及其C++实现
前言: 这次,将进行介绍的是一个特殊而有趣的队列——二项队列。在二项队列中你会发现人们是怎么把二进制的思想体现在数据结构中的;同时二项队列也是一种很高效的队列,对于合并、插入以及DeleteMin操作,它的最坏运行时间为O(LogN),而插入平均花费常数时间进行。那么接下来开始我们的讲解吧~~原理: 首先我们得知道,二项队列并不是一颗堆序的树,而是堆序树的一个集合,也可...
2018-03-25 16:19:36 1405
原创 数据结构:并查集 Union-Find算法(不相交集)原理及C++实现
前言: 这一次为大家介绍的另外一种比较基础的算法——并查集Union-Find算法。这是一种用于不相交集(Disjoint Sets)的查询以及合并问题的算法。主要用树的形式来进行链接,这里我们将使用的是数组来表现。PS:不相交集是并查集的另一个说法~~还是老样子,先是GitHub传送门~~原理: 首先我们要认识到并查集算法是用来处理不相交集问题的一个工具,它为等价关系...
2018-03-18 17:46:47 1636 1
原创 图论算法:最短路径——无权最短路径算法和Dijkstra算法C++实现
前言 今天将给大家介绍的是图论算法中的另外一个基础部分——最短路径算法;其中又分为无权最短路径,单源最短路径,具有负边的最短路径以及无圈图等;而这次将介绍常见的两个——无权最短路径以及单源最短路径。接下来就开始我们的讲解吧~~ 首先还是惯例来一个:Github传送门~~原理 最短路径算法,顾名思义是一种用来找出从某地到另外某个地方所经过的路径长度最短的算法...
2018-03-11 16:32:20 7622 1
原创 图论算法:最小生成树——Prim算法和Kruskal算法C++实现
前言: 这次我记录的是另外一种很有意思的东西——最小生成树。相信学过离散数学的朋友都对这种东西不陌生,那么在代码中,我们该如何实现它呢?接下来,我将对此讲解一些自己的心得。 开头让我插入一个Github传送门:JZX555的Github原理: 首先让我们看看什么是最小生成树——一个有n个节点的连通图的生成树是原图的极小连通子图,且包含原图中的所有n个节点,并且...
2018-03-04 15:45:52 2517
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人