About: 算法之贪心算法
Posted AselfWilled
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了About: 算法之贪心算法相关的知识,希望对你有一定的参考价值。
Greedy Algorithm
Dijkstra, Prim,Kruskal(没被收录的名字在pages编辑器底下还是一条红线)科学家都喜欢叫这么拗口的名字吗?经常打不对他们的名字。最近小吴的乳头❶(小脑袋)被各种“科学家名字’s algorithm” 搅得有点被迷惑住了,CSE两大充满着算法关卡的巨头assignment在即,放下还没看完(会比算法先看完)的Unnatural,理一理这些妖魔鬼怪们。
Prim's algorithm
Prim算法和Kruskal算法的不同在于只能选择已选点的邻边。
Prim算法图解
时间复杂度要分情况讨论。
Prim算法的时间复杂度
Kruskal's algorithm
最简单粗暴的Kruskal算法:
1. 先把点到点的权值从小到大列出来
2. 从小到大把点到点的线连起来,不能连成一个封闭circle
3. 直到没有线可连(剩下的怎么连都是封闭的)
Kruskal算法图解
Dijkstra's algorithm
在CSCN看到一个稍微复杂点的情况更好区分,链接:https://blog.csdn.net/qq_35644234/article/details/60870719
时间复杂度取决于优先队列实现,如果G由邻接表表示,优先队列由min-heap实现,那么时间复杂度为O(|E|log|V|)。
贪心算法能解决的问题
贪心算法本质上等同于拒绝未知风险,只在很少的情况下可以得到最优解,比如最短路径问题,图的最小生成树问题。
所以人生是否该试试DFS呢?
因为口语考试,了解到了很多专业知识,web 3.0,sustainability的十七个可持续发展目标(不是一两个,是十七个目标哪!),还有一堆听都没听过的专业名词。就在考口语这一周,像被插上了淘宝卖的快速充电线(真的比原装快好多的),新鲜概念快速注入,EAP还是相当有用的嘛,显得我们更专业了。好在无论是哪一门,队友们都相当给力啊,队友在,好安心~发出菜鸡的声音。
不知道为什么今天很口渴,喝了两杯威士忌加两瓶水,还是很渴,大概是对学习太饥渴了。
还是要多打几次这些图灵奖得主的名字,总是对不上谁是谁,谁的算法有什么样的骚操作。
注解:
[1] 课堂上,漂亮女老师严肃地给小朋友解释:“乳”就是“小”的意思。比如“乳猪”就是“小猪”,“乳鸽”就是“小鸽”。小明,请你用“乳”字造个句。
小明:我家经济条件不太好,只能住40平米的乳房。
老师:……这个不行……换一个。
小明:我每天上学都要跳过我家门口的一条乳沟。
老师:……不行……再换一个。
小明:……老师,我实在想不出来了。把我的乳头都想破了。
以上是关于About: 算法之贪心算法的主要内容,如果未能解决你的问题,请参考以下文章