趣谈算法中几个常用概念
———从教你追妹子说起
1.动态规划
你追一个MM的时候,需要对该MM身边的各闺中密友都好,这样你追MM这个问题就分解为对其MM朋友的问题,只有把这些问题都解决了,最终你才能追到MM。
因此,该问题适用于聪明的MM,懂得“看一个人,不是看他如何对你,而是看他如何对他人”的道理,并且对付这样的MM总能得到最优解。但缺点是开销较大,因为每个子问题都要好好对待……
2.贪心算法
你追一个MM的时候,从相识到相知,每次都采用最aggressive的方式,进攻进攻再进攻!从不采用迂回战术或是欲擒故纵之法!目标是以最快的速度确立两人的关系。
该法优点是代价小,速度快,但缺点是不是每次都能得到最优解……
3.回溯算法
追一个MM,但也许你还是情窦初开的新手,不知道如何才能讨得MM的欢心,于是你只好一条路一条路的试,MM不开心了,你就回溯回去换另一种方式。
当然其间你也许会从某些途径得到一些经验,能够判断哪些路径不好,会剪枝(这就是分支估界了)。你也可以随机选择一些路径来实施,说不定能立杆见影(这就是回溯的优化了)但总的来说,你都需要一场持久战……
该算法一般也能得到最优解,因为大多数MM会感动滴!!!但其缺点是开销大除非你是非要谈一场恋爱不可,否则不推荐使用。特别是你可能还有许多其他的事情要做,比如学习,比如事业……
4.NP
在你追了若干美女都失败告终后,你发现有一批美女追起来是一样困难的,如果你能追到其中任何一个就能追到其他所有的美女,你把这样的女人叫作NP-Complete。
P=NP:这是一个美好的猜想,追美女和恐龙的难度其实一样。
APX与Random:NP的美女难追,你无法完全占有她。你只好随机的去靠近她装作若无其事;或者用一种策略,追到她的一个approximationratio,例如50%。
APX-hard:这样的女人,连一个固定的百分比都不给你,还是另谋高就吧。
5.NP完全问题
呵呵,那你为什么那么贱,非要去追呢?记住:“天涯何处无芳草!” .不过如果你“非如此不可”的话,建议升级你的硬件,好好学习,好好工作,加强实力,人到中年的时候也许你能解开NP难……
6.网络流
追MM的时候总避免不了送礼物,但是你老是直接送礼物就会给MM造成很大的压力,于是你就想到了通过朋友来转送的方法。
你希望送给MM尽可能多的礼物,所以就是需要找到一种配送方案,就是最大流了。
然而你请别人帮忙并不是不要开销的,你让A同学拿去给B同学可能需要一些花费,自然你不是一个大款,想最小化这个花费,那么就是最小费用最大流了……
7.匹配
从初中到高中到大学大家追来追去,就是个二分图匹配的过程….”和谐社会”应该就一个最大匹配…
可是后来有某些MM同时跟>1个人发展,违背了匹配的基本原则…大家都很BS之…
然后最近断背山很火,人们惊奇得发现原来还可以是 任意图匹配…
8.深度优先和广度优先
深度优先就是追一个mm追到底,直到失败然后换个mm继续追……
广度优先就是同时追多个mm,一起发展……
9.遍历
前序遍历就是直接搞定MM,然后搞定她爸妈(左)和你自己爸妈(右)。
中序遍历就是先搞定未来岳父岳父,然后搞定她,最后告诉你爸妈。
后序遍历就是,让未来的岳父岳母和自己爸妈都觉得你们合适之后,才对MM下手,这个时候就没有障碍了啊。
10.STL
某位贝尔实验室的大牛在追了N个MM后,为了造福后来人,总结了自己的经验,出了本《 追MM求爱祕笈大全》,英文名叫StandardcourTing Library,(/* court : vt.向…献殷勤, 追求; vi.求爱)缩写为 STL。广大同学在使用STL后,惊喜地发现追MM变得异常方便,大大缩短了时间和精力!
原文出处
本文复制自:http://blog.sina.com.cn/s/blog_968be4340101pucu.html,但该博主亦为转载,原始出处未知。