![](https://img-blog.csdnimg.cn/20210326095456274.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
数据结构
浪子花梦
江苏淮安人,二十有三,偶然得知编程二字,至此五年有余,日渐憔悴。
展开
-
数据结构树之 “并查集“ 到底有什么用? 一个简单例子快速掌握!
通过树的延伸,我们会发现有许多优秀的算法,今天我们来学习一下什么是 “并查集” . . . 文章参考啊哈算法,度娘 . . .相关树一些文章:1)《算法笔记》—— 堆排序算法( C++实现)2) 二叉搜索树 —— 查找与排序3) 红黑树基本功能 —— C++实现4) 二叉树(链式存储)—— C++实现5) 二叉树(顺序存储)—— C++实现6) 数据结构堆(包含堆排序)有这么简单吗? 其实是真的简单!并查集详解那么什么是并查集呢? 度娘解释如下:并查集,在一些有N个元素的集合应用问原创 2020-07-05 16:01:21 · 1845 阅读 · 1 评论 -
数据结构堆(包含堆排序)有这么简单吗? 其实是真的简单!
前言今天无意中翻了一下以前写的堆排序文章,发现写的也太Low了 . . .所以准备重新写一篇文章来更详细的讲解堆排序,主要参考啊哈算法 和以前的一些资料,希望大家喜欢,今天也是放假的日子,但我还是选择在学校留上几天,希望大家喜欢这一篇文章 ^ _ ^ . . .相关树及C++堆排序一些文章:1)《算法笔记》—— 堆排序算法( C++实现)2) 二叉搜索树 —— 查找与排序3) 红黑树基本功能 —— C++实现4) 二叉树(链式存储)—— C++实现5) 二叉树(顺序存储)—— C++实现原创 2020-07-04 17:24:06 · 1151 阅读 · 1 评论 -
初探数据结构 —— 图 (邻接表实现)
新年鼠你最美哟 ~邻接表邻接表,存储方法跟树的孩子链表示法相类似,是一种顺序分配和链式分配相结合的存储结构。如这个表头结点所对应的顶点存在相信顶点,则把相邻顶点依次存放于表头结点所指向的单向链表中。对于无向图来说,使用邻接表进行存储也会出现数据冗余,表头结点A所指链表中存在一个指向C的表结点的同时,表头结点C所指链表也会存在一个指向A的表结点。如图所示:我们需要:一个可以存放...原创 2020-01-19 17:23:00 · 479 阅读 · 1 评论 -
初探数据结构 —— 图 (邻接矩阵实现)
要过年咯·······邻接矩阵逻辑结构分为两部分:V (顶点) 和 E (矩阵) 集合。因此,用一个一维数组存放图中所有顶点数据;用一个二维数组存放顶点间关系(边或弧)的数据,这个二维数据称为邻接矩阵。邻接矩阵又分为有向图邻接矩阵和无向图邻接矩阵。如图所示,一种简单的邻接矩阵:邻接矩阵有一个很明显的特点:主对角线为 0 (自己不能和自己相连)左下部分的三角区 与 右上部分的三角区...原创 2020-01-19 12:55:31 · 953 阅读 · 1 评论 -
自定义 HashMap 与 C++模板 hash_map
小年快乐哟 ^ _ ^了解了什么是哈希映射,在这里做一下笔记…… 什么是 HashMap (哈希映射) ?HashMap,又称为哈希映射或散列图。是一个用于储存键 —— 值(Key - Value)的集合,每一个数据(K - V)又称为 Entry,将这些Entry 存储在一个数组中,这个数组就为 HashMap。咳咳,在网上随便 copy一下概念 ^ _ ^此文章不考虑哈希...原创 2020-01-18 16:09:11 · 1024 阅读 · 0 评论 -
《算法笔记》—— 堆排序算法( C++实现)
走过路过的哥哥姐姐们,点个赞,评论一句鼓励我的话,再走呗 ~ ^ _ ^数据结构 —— 堆堆实际是一种完全二叉树,分为大顶堆 和小顶堆:大顶堆:子结点 < 父结点小顶堆:子结点 > 父结点注意: 兄弟之间是不区分大小的下面图所示的是一种大顶堆结构:本文章将已大顶堆来实现堆排序因为是一种完全二叉树,所以我们可以用一个 动态数组 来实现 堆本文章一些有关...原创 2020-01-17 16:55:36 · 516 阅读 · 0 评论 -
二叉搜索树 —— 查找与排序
二叉搜索树何为二叉搜索树?二叉搜索树在二叉树的基础上,增加了可查找的属性。由两个特性组成:原创 2019-12-26 21:12:31 · 777 阅读 · 1 评论 -
红黑树基本功能 —— C++实现
红黑树是一种高级的数据结构可以说红黑树是普通二叉搜索树的升级版本,可以自动平衡此文章不对红黑树的原理进行解析,因为我太懒了~文章底部将会插入一些红黑树原理的一些结构图(单旋转、双旋转)此文章将以三个 ( .h 文件 ) 和 一个 ( .cpp文件 ) 来实现红黑树:Except.h (异常类包含的头文件)Wrapper.h (自定义的引用类型包含的头文件)RedBlackTree...原创 2020-01-16 18:30:55 · 717 阅读 · 1 评论 -
二叉树(链式存储)—— C++实现
作者:花 梦时间:2019.12.21二叉树(链式存储)非线性物理上不连在一起树型结构直接开撸,首先需要我们的头文件与命名空间:#include <iostream>#include <deque> // 下面的层级遍历的算法需要用到队列using namespace std;链式存储需要结点来连接左子树与右子树:template &...原创 2019-12-21 13:07:29 · 3005 阅读 · 2 评论 -
二叉树(顺序存储)—— C++实现
二叉树 (顺序存储)物理上内存连在一起,本质是一个数组逻辑上是一颗树我们用失量模板类 vector来存储树中的数据,话不多说直接上手,必要的代码注释说明首先包含我们的头文件及命名空间:#include <iostream>#include <vector>using namespace std;可以直接定义树的类,不像链式存储需要定义结点那样:tem...原创 2019-12-21 00:31:31 · 3508 阅读 · 1 评论