
NP问题以及一些相关知识
发布日期:2021-05-08 01:40:36
浏览次数:13
分类:精选文章
本文共 668 字,大约阅读时间需要 2 分钟。
之前介绍过BFS,BFS可以用来找出所用段数最少的路径。但是,如果路径有权值,想要找出最快路径,据需要用到迪杰斯特拉算法,该算法找出的是总权重最小的路径。
即:如果要计算非加权图的最短路径,可以使用广度优先遍历;要计算加权图的最短路径,可以使用迪杰斯特拉算法。
但是,有一点需要注意,迪杰斯特拉算法只适用于正权重的有向无环图。如果有负权边,可以使用贝尔曼-福德算法。
贪心算法:每步都选择局部最优解,最终得到的就是全局最优解的方法就是贪心算法。
NP问题:如旅行商问题和集合覆盖问题。NP问题的求解需要我们计算出所有的解,并且从中选出最小/最短的那个,这样的问题就属于NP问题。
但是因为时间复杂度,NP问题往往难以找到最优解,我们往往使用贪心算法来获取近似最优解。
NP问题的判断:
并没有一个准确的办法判断一个问题是不是NP问题,但是针对NP问题的一些特征,还是有迹可循的。
1、元素较少时算法的运行速度非常快,但是随着元素数量的增加,速度会变得非常慢。
2、涉及“所有组合”的问题通常是NP完全问题
3、不能将问题分解成小问题,必须考虑各种可能的情况。
4、如果涉及序列(如旅行商问题中的城市序列)且难以解决,它可能就是NP完全问题。
5、如果问题涉及集合(如广播台集合)且难以解决,它可能就是NP完全问题。
6、如果问题可以转化为集合覆盖问题或者旅行商问题,那它肯定就是NP完全问题。
另:对于NP完全问题,还没有找到快速解决方案。
面临NP完全问题,最佳的做法是使用近似算法。
贪心算法易于实现,运行速度快,是不错的近似算法。
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年04月06日 10时08分47秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MongoDB 快速扫盲贴
2019-03-05
修复搜狗、360等浏览器不识别SameSite=None 引起的单点登录故障
2019-03-05
明天要早起,今天不博了。
2019-03-05
2017/08/21 工作日志
2019-03-05
EXTJS4.2——10.Tab+Iframe
2019-03-05
EXTJS4.2——3.1 添加文本框
2019-03-05
WEB基础——AJAX
2019-03-05
one + two = 3
2019-03-05
Kali Day01 --- arpspoof命令进行断网攻击(ARP欺骗)
2019-03-05
echart关系图平分节点删除时自动平衡问题
2019-03-05
【Coursera】Internet History 读书笔记
2019-03-05
《ODAY安全:软件漏洞分析技术》学习心得-----shellcode的一点小小的思考
2019-03-05
Decision tree(决策树)算法初探
2019-03-05
《Unity3D/2D游戏开发从0到1(第二版本)》 书稿完结总结
2019-03-05
sctf_2019_easy_heap
2019-03-06
Eclipse 创建 Maven 项目
2019-03-06
AT 杂题泛做
2019-03-06
StringBuilder拼接字符串,“,”在前还是在后问题
2019-03-06