![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 67
洛杉矶的良民
这个作者很懒,什么都没留下…
展开
-
最短路径
最短路径单源最短路径所有边权都是正数朴素Dijkstra算法堆优化版的Dijkstra算法存在负权边Bellman-Ford算法SPFA算法多源汇最短路Floyd算法单源最短路径单源最短路:求一个点到其他所有点的最短距离。所有边权都是正数所有边权都是正数:所有边的权重都是正数。朴素Dijkstra算法朴素Dijkstra算法的时间复杂度为O(n²)(n表示点数),与边没有关系,所以我们多用朴素Dijkstra算法来解决稠密图的问题。实现过程1.初始化距离。dist[1] = 0;dis原创 2021-02-27 23:55:35 · 121 阅读 · 0 评论 -
单链表和双链表
单列表和双列表单链表单链表的简单操作双链表双链表的简单操作单链表单链表的最大特点是可以将物理地址上不连续的数据连接起来,通过指针来对物理地址进行操作,实现增删改查等功能。单链表可以用来写邻接表,邻接表可以用来存储图和树。 链表中的数据是以结点来表示的,每个结点存两个值:数据+next指针,空集的下标为-1,单链表是链式存取的结构,为找第 i 个数据元素,必须先找到第 i-1 个数据元素。 单链表结点中只有一个只指向后继的指针,使得单链表只能从头结点开始一次顺序的先后遍历。要访问某个结点的前驱结点原创 2021-02-02 23:07:33 · 612 阅读 · 0 评论 -
C++中输入字符串的几种方法
C++中输入字符串的几种方法C++的字符串输入方式有1.cin>>2.cin.get()3.cin.getline()4.getline()5.gets()cin第一种用法是逐个输入数字或者字符,中间用空格隔开。第二种用法是读入一个字符串,遇到“空格”“TAB”“回车” 都会结束。例如:#include<iostream>#include<string>using namespace std;int main(){ string s;原创 2021-01-12 14:09:27 · 8391 阅读 · 0 评论 -
String库函数
常用的string函数库1.字符长度( length(); size(); )#include<bits/stdc++.h>using namespace std;int main(){ string a; cin>>a; cout<<a.length()<<endl; cout<<a.size()<<endl;}2.容量capacity(); 反应当前内存块儿的大小reserve(); 能原创 2021-01-12 18:01:38 · 1799 阅读 · 0 评论 -
DFS和BFS
文章目录什么是DFS?什么是BFS?DFS与BFS的区别应用举例什么是DFS?深度优先遍历(DFS)也叫深度优先搜索。顾名思义,深度优先,则是以深度为准则,先一条路走到底,直到达到目标。这里称之为递归下去。 DFS相当与一种工具,回溯是深度优先搜索的一种。简述实现步骤1、从顶点出发。2、访问顶点,也就是根节点。3、依次从顶点的未被访问的邻接点出发,进行深度优先遍历;直至和顶点有路径相通的顶点都被访问。4、若此时尚有顶点未被访问,则从一个未被访问的顶点出发,重新进行深度优先遍历,直到所有顶点均被原创 2021-01-29 13:20:39 · 422 阅读 · 0 评论