logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

图的应用—求解最短路径(BFS、Dijkstra和Floyd算法)

BFS算法虽然可以求解最短路径问题,但是需要注意的是该算法只能求解非带权图的单源最短路径问题,或者说带权值相同且为1的图单源最短路径问题。2、图的邻接表存储结构定义3、BFS算法求解非带权图的单源最短路径由于BFS算法的应用局限,所以对于带权值(正值)的图, 我们需要求解其单源最短路径的时候,就可以使用Dijkstra算法。单源最短路径是指:图中某一顶点到其他各顶点的最短路径。Dijsktra算法

#图论#数据结构
拓扑排序及逆拓扑排序

拓扑排序其实就是对有向无环图的顶点的一种排序,每个顶点出现且只出现一次。对一个AOV网进行拓扑排序的方法:1、从AOV网中选择一个入度为0的顶点并输出;2、从网中删除该顶点和所有以它为起点的有向边;3、重复1和2直到当前的AOV网为空或当前网中不存在入度为0的顶点为止;该算法中假设使用邻接表作为存储结构:时间复杂度为:O(|V|+|E|);若采用邻接矩阵存储时,其时间复杂度为O(|V|^2);祖先

#算法#数据结构#图论
数据结构—查找(顺序查找和折半查找)

2、顺序查找的主要代码其时间复杂度为O(n);其对于顺序表和链表都适用。4、折半查找的主要代码(对于升序的顺序表)其时间复杂度为O(logn);但是其只能对于有序的顺序表,因为链表不具备随机存储的特性。折半查找的过程是一棵平衡二叉树。如果当前Low和high之间的元素个数是奇数个,则左右两边元素个数相等,否则就是左半部分比右半部分少一个元素(针对于mid=(low+high)/2,也即是向下取整时

#数据结构#算法
2018年蓝桥杯省赛B组题解

A、第几天题目描述2000年的1月1日,是那一年的第1天。那么,2000年的5月4日,是那一年的第几天?输出格式输出一个整数表示答案解题思路:手算也可以,但我是编程计算的,时间方面我觉得编程序可能更快代码:#include<bits/stdc++.h>using namespace std;int m[]={0,31,29,31,30,31,30};int main(){int ans

#蓝桥杯#c++#算法
差分与前缀和

差分与前缀和是一对互逆的操作,该算法常用于求解区间问题,差分主要用于多次对区间进行加减操作的问题,而前缀和主要用于多次对区间进行求和的问题。差分当对某些不确定的区间多次进行加减操作时,如果每次都是对这些区间遍历操作,那么时间复杂度是O(nm)。而如果我们采用差分法来求解,就是先构造一个差分数组,然后转化为对区间端点的操作,这样的话时间复杂度就转化为O(n)。但是需要注意的是,差分法只能用于多次对区

Python之字符串的基本操作(很详细)

Python语言中的字符串包括两种序号体系:正向递增序号和反向递减序号。具体语法格式为:【头下标:尾下标】 ,这种访问方式称之为“切片”。但注意这是左闭右开的区间。在切片方式中,若头下标缺省,表示从字符串的开始取子串;若尾下标缺省,表示取到字符串的最后一个字符;若头下标和尾下标都缺省,则取整个字符串。字符串切片还可以设置取子字符串的顺序,格式为【头下标:尾下标:步长】。当步长大于0的时候,从左往右

文章图片
#python#开发语言
到底了