- 博客(5)
- 收藏
- 关注
原创 【C/C++】vector建图
只是一个鶸用来记录学习内容的文章罢了,如果能多少帮到你那真是太好了,发现错误欢迎指正。vector建图是利用vector数组长度可变的特点来建立邻接表以存储图结构。vector建图初始化建图基于vector建图的深搜和广搜初始化vector<int> g[n];//n为顶点数初始化一个一维数组g,g里面的每个元素都是一个vector数组。画在图上大概是这个样子。因为vector数组的长度是可以动态扩容的,所以通常情况下建立稀疏图的时候可以比邻接矩阵节省一些空间,同时相比用数组加
2021-03-31 14:17:15
2916
原创 【C/C++】大小顶堆(插入和删除)
只是一个鶸用来记录学习内容的文章罢了,如果能多少帮到你那真是太好了,发现错误欢迎指正。堆总是满足一下特性:1.堆中某个结点的值总是不大于或不小于其父结点的值。2.堆总是一棵完全二叉树。一般用数组描述堆结构并用下标对其进行操作。完全二叉树的数组形式就是将节点按层依次放入数组中。比如下图中的树用数组描述就是这样的由此不难发现:若已知父节点下标x,则左孩子下标为x* 2+1,右孩子下标为x* 2+2。若已知孩子下标为y,则其父节点下标为(y-1)/2。因为下标都是int类型所以右孩子按照此
2021-03-24 21:16:02
2246
2
原创 【C语言】链式栈相关操作及图文讲解
只是一个鶸用来记录学习内容的文章罢了,如果能多少帮到你那真是太好了,发现错误欢迎指正。栈是一种先进后出的数据结构,链式栈顾名思义是链式存储的结构,可以理解为头节点为栈顶元素的链表,顺序栈用数组乱搞就行了主要记录下链式栈,后文统称链式栈为栈。要想实现链式存储需要定义节点结构和栈结构。struct node{ int data; struct node* next;};struct stack{ struct node* top; struct node* bot
2021-03-19 22:22:42
1286
2
原创 【C语言】并查集配例题讲解,通俗易懂
并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中。其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的运行时间(1~3秒)内计算出试题需要的结果,只能用并查集来描述。以上是并查集的简单介绍,摘自百度百科。先看一到
2021-03-18 15:57:56
702
3
原创 【C语言】单链表相关操作
只是一个鶸用来记录学习内容的文章罢了,如果能多少帮到你那真是太好了,发现错误欢迎指正。结构体定义:struct Link_list{ int data; struct Link_list* next;};typedef Link_list* List;将数据封装成节点:数据要想放入链表中必须将数据做成节点,由于很多操作都需要所以单独写成一个函数,这里只拿int类型举例,其他数据类型差别不大List Create_node(int data){ List node
2021-03-17 16:52:35
2120
10
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人