![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 82
nie56789
这个作者很懒,什么都没留下…
展开
-
最短路径算法
最短路径算法主要有两种解决方式:1、单源的迪杰斯特拉算法:一个点对所有的点。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法算法详情:a.初始时,S只包含源点,即S={v},v的距离为0。U包含除v外的其他顶点,即:U={其余顶点},若v与U中顶点u有边,则<u,v>正常有权值,若u不是v的出边邻接点,则<u,v>权值为∞。b.从U中选取一个距离v最小的顶点k,把k,加入S中(该选定的距离就是v到k的最短路径长度)。原创 2022-03-04 15:53:19 · 2957 阅读 · 0 评论 -
动态规划
计算机归根结底只是会穷举,动态规划就是机智的进行穷举先来看看生活中经常遇到的事吧——假设您是个土豪,身上带了足够的1、5、10、20、50、100元面值的钞票。现在您的目标是凑出某个金额w,需要用到尽量少的钞票。依据生活经验,我们显然可以采取这样的策略:能用100的就尽量用100的,否则尽量用50的……依次类推。在这种策略下,666=6×100+1×50+1×10+1×5+1×1,共使用了10张钞票贪心算法贪心算法就是从最大的算起,把最大的用完才接着用较小面值的。鼠目寸光动态规划是自底向上由循原创 2022-02-16 10:52:13 · 102 阅读 · 0 评论 -
算法--皇后问题(回溯法)
皇后问题一般采用深度遍历dfs采用的是利用递归进行回溯法题目:在NN的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。*思考:获取一次合法放置的方法–深度遍历获取所有合法放置的方法–递归+深度遍历为了便于存储:二维存储 通过以为存储代替二维储存(利用数组的下标代替行,数组储存的值代表列,这样可以保证每一行只能存放一个皇后)不能同一列:由于并不知道后续的皇后能原创 2022-02-12 15:56:00 · 1696 阅读 · 0 评论