About: 算法之贪心算法

Posted AselfWilled

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了About: 算法之贪心算法相关的知识,希望对你有一定的参考价值。

当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放 About: 算法之贪心算法 算法小笔记

Greedy Algorithm

Dijkstra, Prim,Kruskal(没被收录的名字在pages编辑器底下还是一条红线)科学家都喜欢叫这么拗口的名字吗?经常打不对他们的名字。最近小吴的乳头❶(小脑袋)被各种“科学家名字’s algorithm” 搅得有点被迷惑住了,CSE两大充满着算法关卡的巨头assignment在即,放下还没看完(会比算法先看完)的Unnatural,理一理这些妖魔鬼怪们。


Prim's algorithm

Prim算法和Kruskal算法的不同在于只能选择已选点的邻边。


About: 算法之贪心算法

Prim算法图解


时间复杂度要分情况讨论。


About: 算法之贪心算法

Prim算法的时间复杂度


Kruskal's algorithm

最简单粗暴的Kruskal算法:

1. 先把点到点的权值从小到大列出来

2. 从小到大把点到点的线连起来,不能连成一个封闭circle

3. 直到没有线可连(剩下的怎么连都是封闭的)


About: 算法之贪心算法

Kruskal算法图解


Dijkstra's algorithm

在CSCN看到一个稍微复杂点的情况更好区分,链接:https://blog.csdn.net/qq_35644234/article/details/60870719

时间复杂度取决于优先队列实现,如果G由邻接表表示,优先队列由min-heap实现,那么时间复杂度为O(|E|log|V|)。


About: 算法之贪心算法

贪心算法能解决的问题


贪心算法本质上等同于拒绝未知风险,只在很少的情况下可以得到最优解,比如最短路径问题,图的最小生成树问题。


所以人生是否该试试DFS呢?


因为口语考试,了解到了很多专业知识,web 3.0,sustainability的十七个可持续发展目标(不是一两个,是十七个目标哪!),还有一堆听都没听过的专业名词。就在考口语这一周,像被插上了淘宝卖的快速充电线(真的比原装快好多的),新鲜概念快速注入,EAP还是相当有用的嘛,显得我们更专业了。好在无论是哪一门,队友们都相当给力啊,队友在,好安心~发出菜鸡的声音。



不知道为什么今天很口渴,喝了两杯威士忌加两瓶水,还是很渴,大概是对学习太饥渴了。


还是要多打几次这些图灵奖得主的名字,总是对不上谁是谁,谁的算法有什么样的骚操作。


注解:

[1] 课堂上,漂亮女老师严肃地给小朋友解释:“乳”就是“小”的意思。比如“乳猪”就是“小猪”,“乳鸽”就是“小鸽”。小明,请你用“乳”字造个句。  

小明:我家经济条件不太好,只能住40平米的乳房。    

老师:……这个不行……换一个。  

小明:我每天上学都要跳过我家门口的一条乳沟。  

老师:……不行……再换一个。   

小明:……老师,我实在想不出来了。把我的乳头都想破了。





以上是关于About: 算法之贪心算法的主要内容,如果未能解决你的问题,请参考以下文章

C++ 算法主题系列之贪心算法的贪心之术

五大常用算法之贪心算法

贪心算法之活动选择问题

五大常用算法之三贪心算法

leetcode之贪心算法刷题总结3

leetcode之贪心算法刷题总结2