数据结构
文章平均质量分 91
JZX555
这个作者很懒,什么都没留下…
展开
-
数据结构:伸展树原理及C++实现(自顶向下实现)
前言: 我现在是一个大二的学生,因为下个学期就要开始学习数据结构这门课程,出于兴趣我提前将数据结构自学了一遍,在学习的过程中发现了许多有趣的结构,最近终于有了一点时间,决定开始写点博客,记录一下自己的想法;这是我第一次写博客,如果有不好的地方欢迎大家指出,我们可以一同讨论共同进步。原理: 伸展树(SplayTree)是一种平衡树的结构,是二叉搜索树的一种,他保证从空树开始的任意连续M...原创 2018-02-24 17:10:44 · 941 阅读 · 1 评论 -
图论算法:最短路径——无权最短路径算法和Dijkstra算法C++实现
前言 今天将给大家介绍的是图论算法中的另外一个基础部分——最短路径算法;其中又分为无权最短路径,单源最短路径,具有负边的最短路径以及无圈图等;而这次将介绍常见的两个——无权最短路径以及单源最短路径。接下来就开始我们的讲解吧~~ 首先还是惯例来一个:Github传送门~~原理 最短路径算法,顾名思义是一种用来找出从某地到另外某个地方所经过的路径长度最短的算法...原创 2018-03-11 16:32:20 · 7610 阅读 · 1 评论 -
图论算法:最小生成树——Prim算法和Kruskal算法C++实现
前言: 这次我记录的是另外一种很有意思的东西——最小生成树。相信学过离散数学的朋友都对这种东西不陌生,那么在代码中,我们该如何实现它呢?接下来,我将对此讲解一些自己的心得。 开头让我插入一个Github传送门:JZX555的Github原理: 首先让我们看看什么是最小生成树——一个有n个节点的连通图的生成树是原图的极小连通子图,且包含原图中的所有n个节点,并且...原创 2018-03-04 15:45:52 · 2508 阅读 · 0 评论 -
数据结构:并查集 Union-Find算法(不相交集)原理及C++实现
前言: 这一次为大家介绍的另外一种比较基础的算法——并查集Union-Find算法。这是一种用于不相交集(Disjoint Sets)的查询以及合并问题的算法。主要用树的形式来进行链接,这里我们将使用的是数组来表现。PS:不相交集是并查集的另一个说法~~还是老样子,先是GitHub传送门~~原理: 首先我们要认识到并查集算法是用来处理不相交集问题的一个工具,它为等价关系...原创 2018-03-18 17:46:47 · 1635 阅读 · 1 评论 -
数据结构:二项队列原理及其C++实现
前言: 这次,将进行介绍的是一个特殊而有趣的队列——二项队列。在二项队列中你会发现人们是怎么把二进制的思想体现在数据结构中的;同时二项队列也是一种很高效的队列,对于合并、插入以及DeleteMin操作,它的最坏运行时间为O(LogN),而插入平均花费常数时间进行。那么接下来开始我们的讲解吧~~原理: 首先我们得知道,二项队列并不是一颗堆序的树,而是堆序树的一个集合,也可...原创 2018-03-25 16:19:36 · 1404 阅读 · 0 评论 -
数据结构:Trie树(前缀树)原理及C++实现
前言: 最近学习了tire树(前缀树),也就是单词查找树;正如书上所言,这是人类对算法研究的最高成果之一,学会了后感觉尤为深刻,接下来就来记录下自己的感受。原理: Trie树和其他的数据结构一样,支持查找、插入以及删除操作,当然也可以添加其他的操作。Trie树的编程非常的简单,这一切都得益于其优秀的性质。Trie树和其他的各种查找树一样也是由链接的节点组成的数据结构,这...原创 2018-04-15 17:05:26 · 6864 阅读 · 0 评论 -
数据结构:散列表(哈希表)开放定址法原理及C++实现
前言: 最近写了下RabinKarp算法,当中使用到了一定的Hash方法,我顺就复习了一下Hash表的实现原理,要不然感觉自己都要忘记了~~原理:散列表: 散列表也称哈希表,是一种键值对应的数据结构(key-value),也就是说任何一个存储在Hash表中的数据(value)都会有一个对应的键值(key)用来存储它。我们可以这样来理解他:在我们去电影院看电影的时候,我们...原创 2018-04-22 17:23:19 · 1008 阅读 · 0 评论 -
数据结构:Huffman树(哈夫曼树)原理及C++实现
前言: 最近要到期末了,事情有点多有几个星期没有写这个了,我们数据结构实验课要求写Huffman树,因此这次我将对Huffman树进行介绍。原理:哈夫曼树是一种单词树,广泛使用于数据压缩之中。将会根据每个字符的权重,来构建一颗Huffman树,同时根据Huffman树对原来的文本进行二次编码,以达到压缩数据的目的。比如当我们对AAABBBA进行Huffman树压缩时,A的编码将会是1...原创 2018-05-20 19:06:05 · 13608 阅读 · 7 评论