迪杰斯特拉和弗洛伊德的区别

活得丰盛 1个月前 已收到1个回答 举报

涼拌溫柔 1星

共回答了107个问题采纳率:96.8% 评论

最大的区别是算法的时间复杂度

弗洛伊德算法的复杂度最低也是N的三次方 如果是竞赛的话你用弗洛伊德很不幸 你会超时

但是地杰斯特拉算法的复杂度就很低了可以达到期望logn级别 比N的三次方的算法就快了很多

还有一个区别就是在做最短路问题的时候迪杰斯特拉算法不适用于边有负权值的图

当碰到边有负权时 你可以选择SPFA算法 这是迪杰斯特拉算法的优化版 对稀疏图有不错的效果

9小时前

9
可能相似的问题

热门问题推荐

Copyright © 2024 微短问答 All rights reserved. 粤ICP备2021119249号 站务邮箱 service@wdace.com