算法
Zcmmma
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法课知识点总结
Course Progress Introduction Data structures, NP-completeness Greedy algorithms Divide-and-conquer Dynamic programming Graph algorithms Search algorithms Heuristic algorithms Network flows chapter1-Introduction 时空复杂度 算法必须满足下列条件 Input(输入) Output(输出.原创 2020-07-25 10:37:40 · 1486 阅读 · 0 评论 -
Dijkstra、Floyd、Kruskal、Prime算法
Dijkstra、Floyd、Kruskal、Prime算法是图论中四个比较基础的算法,刚入门时较容易混淆,故总结如下(本文只是对比总结,具体示例代码引自其他博客) 带权图分为有向和无向,无向图的最短路径又叫做最小生成树,有prime算法和kruskal算法;有向图的最短路径算法有dijkstra算法和floyd算法。 适用场景 Dijkstra:单源最短路,求给定起点到所有其他点的最短路径。采用的是贪心的思想,路径不能有负权(带负权用Bellman-Ford算法) Floyd:多源最短路径(即任意两.原创 2020-06-07 18:15:13 · 754 阅读 · 0 评论 -
贪心、分治和动规
贪心、分治和动规是算法的入门思想,初学时容易混淆,故对比总结如下 两个概念 重叠子问题:如果一个问题可以被分为若干个子问题,且这些子问题会重复出现,那么就称这个问题拥有重叠子问题 最优子结构:如果一个问题的最优解可以由其子问题的最优解有效地构造出来,那么称这个问题拥有最优子结构 三个思想 贪心:解决最优化问题,并希望由局部最优策略来推得全局最优结果。贪心算法适用的问题必须满足最优子结构 分治:将原问题划分成若干个规模较小而结构与原问题相同或相似的子问题,然后分别解决这些子问题,最后合并子问题的解,.原创 2020-06-07 16:35:51 · 382 阅读 · 0 评论
分享