首页 > 代码库 > OSChina 周六乱弹 —— 程序猿讨媳妇大全

OSChina 周六乱弹 —— 程序猿讨媳妇大全

啦啦啦,周六啦,今天倍开心~

周末能 High 成 什么样子呢,请看周五 OSCer 都 High 成了什么样

@近卫使者:……

loading...           

这。。。

周末就应该去散散步,走出深圳~

moli : 今天回深圳了~ 逛来逛去、还是深圳干净整洁,还是湖南菜好吃,还是深圳妹子漂亮~

深圳妹纸漂亮!!!小小编暂时也是深圳妹纸了,大家懂得,嘿嘿,周末都有空哦~

单身的群体是非常庞大滴,对不对,但是你有想过你是为啥单身?是何种单身狗吗?

blindcat : 单身狗这个群体可以进一步细分,如:忠诚专一但脾气暴躁导致单身的——单身藏獒;杀马特把头发染的黄不拉几没对象的——单身金毛;太老实听话毫无个性有时 蔫坏砸砸家具的——单身拉布拉多;过于粘人老得让人陪的——单身阿拉斯加;还有一大群都是过分活泼时常犯二没人要的,这群最多——单身哈士奇。

loading...

唉,小小编乃单身阿拉斯加是也!

单身,单身,摩擦摩擦,哈哈

我们来学学如何泡妞吧,用上我们程序猿最拿手的算法:

动态规划

基本上就是说:你追一个MM的时候,需要对该MM身边的各闺中密友都好,这样你追MM这个问题就分解为对其MM朋友的问题,只有把这些问题都解决 了,最终你才能追到MM。因此,该问题适用于聪明的MM,懂得“看一个人,不是看他如何对你,而是看他如何对他人。”的道理,并且对付这样的MM总能得到 最优解。但确定是开销较大,因为每个子问题都要好好对待……

贪心法

基本上就是:你追一个MM的时候,从相识到相知,每次都采用最aggressive的方式,进攻进攻再进攻!从不采用迂回战术或是欲擒故纵之法!目标是以最快的速度确立两人的关系。该法优点是代价小,速度快,但缺点是不是每次都能得到最优解……、

回溯算法

基本上就是:追一个MM,但也许你还是情窦初开的新手,不知道如何才能讨得MM的欢心,于 是你只好一条路一条路的试,MM不开心了,你就回溯回去换另一种方式。当然其间你也许会从某些途径得到一些经验,能够判断哪些路径不好,会剪枝(这就是分 支估界了)。你也可以随机选择一些路径来实施,说不定能立杆见影(这就是回溯的优化了)但总的来说,你都需要一场持久战……该算法一般也能得到最优解,因 为大多数MM会感动滴!!但其缺点是开销大除非你是非要谈一场恋爱不可,否则不推荐使用。特别是你可能还有许多其他的事情要做,比如学习,比如事业……

NP完全问题

呵呵,那你为什么那么贱,非要去追呢?记住:“天涯何处无芳草!” . 不过如果你“非如此不可”的话,建议升级你的硬件,好好学习,好好工作,加强实力,人到中年的时候也许你能解开NP难……

网络流

追MM的时候总避免不了送礼物,但是你老是直接送礼物就会给MM造成很大的压力,于是你就想到了通过朋友来转送的方法。你希望送给MM尽可能多的礼 物,所以就是需要找到一种配送方案,就是最大流了。然而你请别人帮忙并不是不要开销的,你让A同学拿去给B同学可能需要一些花费,自然你不是一个大款,想 最小化这个花费,那么就是最小费用最大流了……

NP

在你追了若干美女都失败告终后,你发现有一批美女追起来是一样困难的,如果你能追到其中任何一个就能追到其他所有的美女,你把这样的女人叫作NP- Complete。P=NP:这是一个美好的猜想,追美女和恐龙的难度其实一样。APX与Random:NP的美女难追,你无法完全占有她。你只好随机的 去靠近她装作若无其事;或者用一种策略,追到她的一个approximation ratio,例如50%。APX-hard:这样的女人,连一个固定的百分比都不给你,还是另谋高就吧。

匹配

从初中到高中到大学大家追来追去,就是个二分图匹配的过程….”和谐社会”应该就一个最大匹配…

可是后来有某些MM同时跟>1个人发展,违背了匹配的基本原则…大家都很BS之…然后最近断背山很火,人们惊奇得发现原来还可以是 任意图匹配…

深度优先和广度优先:

深度优先就是追一个mm追到底,直到失败然后换个mm继续追……

广度优先就是同时追多个mm,一起发展……

遍历

前序遍历就是直接搞定MM,然后搞定她爸妈(左)和你自己爸妈(右)。

中序遍历就是先搞定未来岳父岳父,然后搞定她,最后告诉你爸妈。

后序遍历就是,让未来的岳父岳母和自己爸妈都觉得你们合适之后,才对MM下手,这个时候就没有障碍了啊。

STL

某位贝尔实验室的大牛在追了N个MM后,为了造福后来人,总结了自己的经验,出了本《 追MM求爱秘笈大全》,英文名叫Standard courTing Library,(/* court : vt.向…献殷勤, 追求; vi.求爱)缩写为 STL. 广大同学在使用STL后,惊喜地发现追MM变得异常方便,大大缩短了时间和精力…

怎样,不错吧,大家要努力钻研啊~

--------------------------------------------------------------

有人还总结出了追 MM 的 23 种设计模式,篇幅太长,摘录一部分:

1、FACTORY—追MM少不了请吃饭了,麦当劳 的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是 生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相 应的修改。如:如何创建及如何向客户端提供。 

2、BUILDER—MM最爱听的就是“我爱你”这 句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到MM我只要按对应的键,它就能 够用相应的语言说出“我爱你”这句话了,国外的MM也可以轻松搞掂,这就是我的“我爱你”builder。(这一定比美军在伊拉克用的翻译机好卖) 建造模式:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化, 客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。

 3、FACTORY METHOD—请MM去麦当劳吃汉堡,不同的MM有不同的口味,要每个都记住是一件烦人的事情,我一般采用Factory Method模式,带着MM到服务员那儿,说“要一个汉堡”,具体要什么样的汉堡呢,让MM直接跟服务员说就行了。 工厂方法模式:核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,仅负责给出具体工厂类必须实现的接口,而不 接触哪一个产品类应当被实例化这种细节。 

4、PROTOTYPE—跟MM用QQ聊天,一定要 说些深情的话语了,我搜集了好多肉麻的情话,需要时只要copy出来放到QQ里面就行了,这就是我的情话prototype了。(100块钱一份,你要不 要) 原始模型模式:通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象。原始模型模式允许动态的增加或减 少产品类,产品类不需要非得有任何事先确定的等级结构,原始模型模式适用于任何的等级结构。缺点是每一个类都必须配备一个克隆方法。

 5、SINGLETON—俺有6个漂亮的老婆,她 们的老公都是我,我就是我们家里的老公Sigleton,她们只要说道“老公”,都是指的同一个人,那就是我(刚才做了个梦啦,哪有这么好的事) 单例模式:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式。单例模式只应在有真正的“单一实例”的需求时才可使用。 结构型模式

-------------------------------------------------------

前期的知识储备都做好了,那么我们开始进行需求分析吧~

对于程序员来说,“单身”依然是人生最大的bug,关键是还无法调试。虽然俗话说“自古英雄多寂寞”,但是缺少另一半的人生总是不完整的。作为程序员,追 女朋友一定要讲究策略,本文从需求分析到测试提供了一整套解决方案,现将其开源,希望各位程序员能找到自己心仪的女朋友。一共有3部分,本文是第一篇:需 求分析篇。

programmer-gf-1

  • 需求分析

A、程序员为什么找不到女朋友

当然要先问问自己为什么至今还单身,先从自己找找原因,这样下面才可以有针对性做一些决策,就像软件开发前需要市场调研一样。

1、太过劳累,身心疲惫

  程序员的工作压力比较大,加班多,这就导致程序员无论从生理上还是心理上都显得更加疲惫劳累。话说回来,也不只是程序员,在中国很多其他职业也有类似的特点,只不过程序员更加突出罢了。

程序员还有一个过于劳累的原因是太痴迷于程序编写,已经把写程序当成自己生活不可或缺的一部分。这是程序员的通病,一个真正的程序员的最大梦想是用一行行的代码去编织他们的世界。写程序写到麻痹睡眠,麻痹生活也是正常之举了。

2、太过专注,麻木人情

  程序员都很专注,尤其是对他们的程序代码,只有专注于程序设计,才能成为一名优秀的程序员,这是程序员的座右铭。专注并没有错,但是如果因此而麻木了人情,忽视了冷暖,那只会让你的朋友圈越来越窄,更重要的是现在很多妹子是感性动物,你这样只会离她们越来越远。网上调查的结果显示,一般的程序员只局限于在程序员这一范围内结交知心朋友,因为大家可以合作项目,探讨技术,通过这种方式可以大幅提高程序员水平。但也正因如此,程序员的交际能力日渐衰退,交际范围日渐狭窄,这无疑将不利于程序员综合素质的提高。 

3、太过死板,缺乏情趣 

  程序员不好找女朋友(只因大多程序员都是男人),这是一个痛心疾首的但无法回避的惨酷现实。与其归咎于工作繁忙无法抽出时间陪女朋友这一客观因素,不如归 咎于程序员太过死板,性格内向,缺乏情趣这一主观因素。 在程序员看来,是一就是一,是一就绝不会是二。如计算机处理系统指令一样,所有的都转化为二进制 来实现。一般的 MM最讨厌这种没有情趣的人了。当然,不排除有的 MM很喜欢程序员,因为他们很踏实,很傻,不会花心,不会叛变。

  通过我的这些整理,是不是好像又重新认识了一下自己?是不是觉得上面3点你都中枪了?那么好,认真改正上述缺点,下面我们继续分析。

B、我要找什么样的女朋友

  假设你都认识到上述的问题,那么现在我们来做需求分析的第二步:功能需求——即你需要找什么样的女朋友,这为你下面实现具体功能指定一个目标。

1、对女朋友的整体要求——总体功能概述

  你要有一个总体的定位,就像写软件一样,你的软件大致要实现什么功能。女朋友也一样,比如相貌、年龄范围、居住地、工作等,一定要定位准确,因为我们谈恋爱是要为结婚而谈的,没定位好的话,到时候会因为收入问题、两地分居问题等而分手,这个软件项目就彻底完蛋了。

2、你准备投资什么——具体功能实现思路

  要完成一个小软件都需要你投入很大的精力,更何况是和自己一辈子牵扯在一起的人,你要考虑好你该投入多少时间和精力,前期投入多少资金。记得一定要投入,女人不疼是不会爱的哦。


不能光看不做哦,赶紧出去溜达溜达,参加参加活动,寻找心目中的女神吧~

参考链接:

http://news.eoe.cn/18605.html

http://my.oschina.net/jgy/blog/38643


内容整理自网络

马上扫一扫下面的二维码,关注”开源中国“ 微信号!


(扫一扫,关注OSChina微信号,每天为你送上精选资讯早点,还有每天的 OSChina 娱乐弹弹弹哦)


OSChina 周六乱弹 —— 程序猿讨媳妇大全