- 博客(8)
- 收藏
- 关注
原创 Kruskal算法构建最小生成树
文章目录Kruskal算法原理:具体步骤如下:代码实现Kruskal算法原理:(1)将图结构中的边按照权值从小到大进行排序处理。(2)每次取其中权值最小的边考虑加入到最小生成树集合中。(3)判断每次取的边加入到最小生成树中之后是否会形成环,如果会形成环则不能将该边加入到最小生成树集合中。(4)重复步骤2、3。直到满足 顶点数 - 边数量 = 1,则说明最小生成树构建完成。具体步骤如下:图结构如下(1)根据边的权值对边进行排序处理得到结果如下图所示:(1)取6-7构成的边加入到最小..
2021-08-05 22:38:30 830
原创 数据结构与算法之二叉树
数据结构与算法之二叉树文章目录数据结构与算法之二叉树二叉树分类二叉树实现二叉树单个结点二叉树的遍历操作1、二叉树的前序遍历2、二叉树的中序遍历3、二叉树的后序遍历3、二叉树的层序遍历构建二叉树1、根据中序遍历及前序遍历构建二叉树2、根据中序遍历及后序遍历构建二叉树二叉树的深度总结二叉树分类二叉树主要分为:满二叉树和完全二叉树。满二叉树:每一层结点都是满的,最终整棵树的结点总数为 2^k - 1。完全二叉树:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下
2021-05-24 22:01:51 252
原创 数据结构与算法之哈希表
系列文章目录文章目录系列文章目录哈希表一、set集合介绍1、std::set集合2、std::multiset集合3、std::unordered_set集合二、map集合介绍1、std::map2、std::multimap集合3、std::unordered_map集合2.读入数据总结2.读入数据总结哈希表哈希表是一种将value值与key值构建映射关系,以达到快速查询的数据结构。在c++STL中实现了三种哈希结构:数组、set、map。其中数组就没什么好介绍的了。本文主要介绍set
2021-05-18 22:08:11 286
原创 数据结构与算法之队列
数据结构与算法之队列文章目录数据结构与算法之队列队列队列的实现队列类整体结构:析构函数入队操作出队操作(前提条件:队列不为空)返回队列首元素值(前提条件队列不为空)返回队列尾元素值(前提条件队列不为空)返回队列中元素个数判断队列是否为空队列队列是一种先进先出的数据结构。注意:在c++的STL标准库中已经实现了队列这种数据结构,而STL标准库中队列(queue)的底层是由双端队列(deque)实现的,所以在STL标准库中队列不算一种容器,只能称为一种适配器。队列示意图如下:队列是一种只能
2021-04-30 16:37:08 514 2
原创 数据结构与算法之栈
数据结构与算法之栈文章目录数据结构与算法之栈栈栈的实现1.用链表实现栈(1)元素入栈操作(2)元素出栈(3)返回栈顶元素值(必须确保栈不为空)2.用数组实现栈(1)构造函数(2)析构函数(3)元素入栈(4)元素出栈(5)对数组扩容栈栈是一种先进后出的数据结构。注意:在c++的STL标准库中已经实现了栈这种数据结构,而STL标准库中栈的底层是由双端队列(deque)实现的,所以在STL标准库中栈不算一种容器,而是一种适配器。#栈示意图如下所示:元素只能在一端进出,所以最先入栈的元素最后才能
2021-04-20 11:40:49 653
原创 数据结构与算法之双向链表
数据结构与算法之双向链表文章目录数据结构与算法之双向链表双向链表标题双向链表节点结构c++代码实现一、pandas是什么?二、使用步骤1.引入库2.读入数据总结双向链表双向链表:每一个节点包含两个指针域,一个指针域(pre)指向前一个节点,一个指针域(next)指向后一个节点,另外包含一个数据域用于保存数据。因此双向链表可以向前查询,也可以向后查询。双向链表单个节点示意图如下:双向链表如下(改图出处:代码随想录):标题双向链表节点结构c++代码实现struct 提示:这里可以
2021-04-07 17:07:11 314
原创 数据结构与算法之单链表
数据结构与算法之单链表文章目录数据结构与算法之单链表链表概念节点结构c++代码链表在内存中的存贮方式关于链表的各种操作链表类1、查找指定索引处的元素2、在指定索引处插入一个节点3、删除指定索引处的节点4、清空链表5、翻转链表6、找链表的中间节点7、判断链表是否有环8、若有环如何找环的入口呢?总结链表概念链表是一种通过指针串联起来的线性结构,每一个节点由两部分组成,存放数据的部分称为数据域;存放指针的部分被称为指针域,指针域存放指向下一个节点的指针(最后一个节点的指针域指向空指针)。结点单
2021-03-30 17:45:26 338
原创 数据结构与算法之数组
文章目录数据结构与算法之数组1、一维数组定义:一维数组的访问:一维数组元素的删除和添加:如何为一维数组动态分配内存及释放内存2、二维数组如何为二维数组动态分配内存及删除总结:数据结构与算法之数组1、一维数组定义:数组是存放在连续内存空间上的相同类型数据的集合,其中以字符数组为例,示意图如下所示:注意:1、数组下表都是从0开始的。2、数组内元素的内存空间是连续的。一维数组的访问:数组可以方便的通过下标索引的方式进行访问。例如要访问索引为4的元素int res = arr[4];一维数组元素
2021-03-28 16:21:16 376
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人