zoukankan      html  css  js  c++  java
  • 最短路的一点心得

    差不多最短路的题目做的差不多了

    主要三种算法:

    1、FLOYD:个人比较喜欢使用,不但可以快速计算计算多源最短路,也可以判断图的连通性。时间复杂度是(顶点^3)

    2、DIJK:从点的角度计算单源最短路比较方便吧,可以用邻接表优化(没用过,呵呵)。时间复杂度(顶点^2(朴素),顶点*log(顶点))

    3、SPFA+静态邻接表+队列储存:是从边的角度计算单源最短路,比较牛逼的算法,因为时间复杂度比较小(边*k),其中K是常数,

    注意用前两种算法时,因为这两种算法是从顶点思考,所以要小心重边的情况(有时题目没说明但自己要小心),每次读取边取小即可,用SPFA就没关系了

    网上说K~2,不过实际使用时K估计接近10,因为每个顶点差不多连10条左右的边。

    题型:

    1、直接求单源起点最短路

    2、求单源起点最短路+单源终点最短路,可以通过map矩阵转置,两次dijk算法求出

    3、顶点有权值的单源起点最短路:先求各点到起点的最短路,再分别与各点权值相乘的总和

    4、顶点有权值的单源起点最短路变型:求法同上

    5、顶点有权值的多源起点最短路:数据小的话用FLOYD实现,大的话一般要用SPFA再枚举起点求的

    6、有多个连通图的图之间点的最短路径问题:先用FLOYD求出图的连通性,再枚举图各个连通图之间的点的最短路

    ……

    差不多了,接着是最小生成树的学习

  • 相关阅读:
    sql 积分和消费,类似银行出入账单
    easyui datagrid选中当前行的index
    jquery 1+1=11 纠结死我了
    jquery 选择器
    easyui tree节点设置disabled的功能
    用户体验为什么如此重要?
    三个月内获得三年工作经验
    常用网站
    防呆设计
    读书笔记:启示录,打造用户喜爱的产品
  • 原文地址:https://www.cnblogs.com/huhuuu/p/1956332.html
Copyright © 2011-2022 走看看