热点网|医学教育网|北京pk10开奖直播 pk10开奖直播 北京赛车pk10 pk10开奖直播 北京赛车pk10 PK10开奖直播 北京赛车pk10开奖直播 北京pk10 北京pk10
网站运营 | 站长学院 | 技术文档 | 成语 | 歇后语 | 桌面壁纸 | 帝国时代 | 代码收藏 | IP地址查询 | 生活百科 | 生日密码 | CSS压缩 | 用户评论

程序算法与人生选择

【 酷壳作者:陈皓 更新时间:2013-01-04 | 字体:
[导读]每年一到要找工作的时候,我就能收到很多人给我发来的邮件>>,总是问我怎么选择他们的offer,去腾讯还是去豆瓣,去外企还是去国内的企业,去创业还是去考研,来北京还是回老家,该不该去创新工???该不该去thoughtwork...

每年一到要找工作的时候,我就能收到很多人给我发来的邮件,总是问我怎么选择他们的offer>,去腾讯还是去豆瓣,去外企还是去国内的企业>,去创业还是去考研,来北京还是回老家>,该不该去创新工???该不该去thoughtworks?……等等>>,等等。今年从7月份到现在>,我收到并回复了60多封这样的邮件>。我更多帮他们整理思路>,帮他们明白自己最想要的是什么。(注:我以后不再回复类似的邮件了)。

我深深地发现>>>,对于我国这样从小被父母和老师安排各种事情长大的人,当有一天,父母和老师都跟不上的时候>,我们几乎完全不知道怎么去做选择>>。而我最近也离开了亚马逊,换了一个工作>。又正值年底>,就像去年的那篇《三个故事和三个问题》一样>>,让我想到写一篇这样的文章>>。

几个例子

当我们在面对各种对选择的影响因子的时候>,如:城市,公司规模>,公司性质>,薪水>>,项目>>,户口>,技术,方向,眼界…… 你总会发现,你会在几个公司中纠结一些东西>>>,举几个例子:

  • 某网友和我说>,他们去上海腾讯,因为腾讯的规模很大,但却发现薪水待遇没有豆瓣高(低的还不是一点)>>,如果以后要换工作的话,起薪点直接关系到了以后的高工资。我说那就去豆瓣吧>>,他说豆瓣在北京,污染那么严重,又没有户口>>,生存环境不好>>。我说去腾讯吧>,他说腾讯最近组织调整,不稳定>。我说那就去豆瓣吧,慢公司>>>>,发展很稳当>。他说>,豆瓣的盈利不清楚>>,而且用Python,自己不喜欢>。我说>,那就去腾讯吧>>,……
  • 还有一网友和我说,他想回老家>,因为老家的人脉关系比较好,能混得好>>。但又想留在大城市,因为大城市可以开眼界>。

 

  • 另一网友和我说>,他想进外企,练练英语,开开眼界>,但是又怕在外企里当个螺丝钉>>,想法得不到实施。朋友拉他去创业,觉得创业挺好的>,锻炼大>,但是朋友做的那个不知道能不能做好>。
  • 还有一网友在创新工场的某团队和考研之间抉择>,不知道去创新工场行不行,觉得那个项目一般>>>,但是感觉那个团队挺有激情的,另一方面觉得自己的学历还不够,读个研应该能找到更好的工作。
  • 还有一些朋友问题我应该学什么技术?不应该学什么技术>>?或是怎么学会学得最快>>,技术的路径应该是什么>?有的说只做后端不做前端>,有的说,只做算法研究>>,不做工程,等等>>,等等>。因为他们觉得人生有限,术业有专攻。
  • 等等,等等……

我个人觉得>>,如果是非计算机科班出生的人不会做选择,不知道怎么走也罢了>,但是我们计算机科班出生的人是学过算法的>,懂算法的人应该是知道怎么做选择的>>>>。

 

排序算法

你不可能要所有的东西>>,所以你只能要你最重要的东西>,你要知道什么东西最重要>>,你就需要对你心内的那些欲望和抱负有清楚的认识>,不然,你就会在纠结中度过。

所以,在选择中纠结的人有必要参考一下排序算法>。

  • 首先>,你最需要参考的就是“冒泡排序”——这种算法的思路就是每次冒泡出一个最大的数。所以,你有必要问问你自己>,面对那些影响你选择的因子,如果你只能要一个的话,你会要哪个?而剩下的都可以放弃。于是>,当你把最大的数>,一个一个冒泡出来的时候>,并用这个决策因子来过滤选项的时候,你就能比较容易地知道知道你应该选什么了。这个算法告诉我们,人的杂念越少,就越容易做出选择。
  • 好吧>,可能你已茫然到了怎么比较两个决策因子的大小,比如:你分不清楚>>,工资>业务前景吗>?业务前景>能力提升吗?所以你完全没有办法进行冒泡法>>>。那你>,你不妨参考一个“快速排序”的思路——这个算法告诉我们>>,我们一开始并不需要找到最大的数>>,我们只需要把你价值观中的某个标准拿出来,然后,把可以满足这个价值的放到右边>,不能的放到左边去。比如>,你的标准是:工资大于5000元&&业务前景长于3年的公司,你可以用这个标准来过滤你的选项>。然后>,你可以再调整这个标准再继续递归下去>。这个算法告诉我们,我们的选择标准越清晰>,我们就越容易做出选择>>>。

这是排序算法中最经典的两个算法了,面试必考>。相信你已烂熟于心中了>>>。所以,我觉得你把这个算法应用于你的人生选择也应该不是什么问题>。关于在于,你是否知道自己想要的是什么>?

排序算法的核心思想就是>,让你帮助你认清自己最需要的是什么>>>,认清自己最想要的是什么,然后根据这个去做选择>>。

贪婪算法

所谓贪婪算法,是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择(注意:是当前状态下),从而希望导致结果是最好或最优的算法。贪婪算法最经典的一个例子就是哈夫曼编码。

对于人类来说,一般人在行为处事的时候都会使用到贪婪算法>,

  • 比如在找零钱的时候>,如果要找补36元,我们一般会按这样的顺序找钱:20元>,10元,5元>,1元。
  • 或者我们在过十字路口的时候,要从到对角线的那个街区时>,我们也会使用贪婪算法——哪边的绿灯先亮了我们就先过到那边去>,然后再转身90度等红灯再过街>>。

这样的例子有很多>。对于选择中>,大多数人都会选用贪婪算法,因为这是一个比较简单的算法,未来太复杂了>,只能走一步看一步>,在当前的状况下做出最利于自己的判断和选择即可>>。

有的人会贪婪薪水>,有的人会贪婪做的项目,有的人会贪婪业务>,有的人会贪婪职位,有的人会贪婪自己的兴趣……这些都没什么问题>>。贪婪算法并没有错,虽然不是全局最优解>,但其可以让你找到局部最优解或是次优解。其实>,有次优解也不错了>。贪婪算法基本上是一种急功近利的算法>>,但是并不代表这种算法不好,如果贪婪的是一种长远和持续>,又未尝不可呢>?。

动态规划

但是我们知道,对于大部分的问题,贪婪法通常都不能找出最优解,因为他们一般没有测试所有可能的解。因为贪婪算法是一种短视的行为,只会跟据当前的形式做判断>,也就是过早做决定,因而没法达到最佳解>>。

动态规划和贪婪算法的最大不同是,贪婪算法做出选择>,不能回退>>。动态规划则会保存以前的运算结果>,并根据以前的结果对当前进行选择>,有回退功能>>。

动态规划算法至少告诉我们两个事:

1)承前启后非常重要,当你准备去做遍历的时候,你的上次的经历不但能开启你以后的经历>,而且还能为后面的经历所用。你的每一步都没有浪费>。

2)是否可以回退也很重要>。这意思是——如果你面前有两个选择,一个是A公司一个是B公司>,如果今天你错失了B公司>,那到你明天还能不能找回来>?

比如说:你有两个offer,一个是Yahoo,一个是Baidu>,上述的第一点会让我们思考,Yahoo和Baidu谁能给我们开启更大的平台>>?上述的第二点告诉我们>>,是进入Yahoo后如果没有选好>,是否还能回退到Baidu公司>>?还是进入Baidu公司后能容易回退到Yahoo公司?

Dijkstra最短路径

最短路径是一个Greedy + DP的算法。相当经典。这个算法的大意如下:

1)在初始化的时候>,所有的结点都和我是无穷大,默认是达不到的>。

2)从离自己最近的结点开始贪婪>>。

3)走过去>>,看看又能到达什么样的结点>>,计算并更新到所有目标点的距离。

4)再贪婪与原点最短的结点>,如此反复>。

这个算法给我们带来了一些这样的启示:

  • 有朋友和我说过他想成为一个架构师,或是某技术领域的专家>,并会踏踏实实的向这个目标前进>,永不放弃。我还是鼓励了他>,但我也告诉他了这个著名的算法,我说,这个算法告诉你>>,架构师或某领域的专家对你来说目前的距离是无穷大>,他们放在心中>>,先看看你能够得着的东西>。所谓踏实>,并不是踏踏实实追求你的目标>,而是踏踏实实把你够得着看得见的就在身边的东西干好>。我还记得我刚参加工作>>,从老家出来的时候>>,从来没有想过要成为一个技术牛人,也从来没有想过我的博客会那么的有影响力>,在做自己力所能及>,看得见摸得着的事情>>>,我就看见什么技术就学什么,学着学着就知道怎么学更轻松>,怎么学更扎实>,这也许就是我的最短路径。
  • 有很多朋友问我要不要学C++>,或是问我学Python还是学Ruby,是不是不用学前端>>,等等>>。这些朋友告诉我,他们不可能学习多个语言>,学了不用也就忘了,而且术业有专攻。这并没有什么不对的,只是我个人觉得,学习一个东西没有必要只有两种状态>,一种是不学,另一种是精通。了解一个技术其实花不了多少时间>>,我学C++的目的其实是为了更懂Java>,学TCP/IP协议其实是为了更懂Socket编程>,很多东西都是连通和相辅相成的>>,学好了C/C++/Unix/TCP等这些基础技术后>>,我发现到达别的技术路径一下缩短了(这就是为什么我用两天时间就可以了解Go语言的原因)>>>。这就好像这个算法一样>>,算法效率不高,也许达到你的目标>,你在一开始花了很长时间>>,遍历了很多地方>,但是>>,这也许这就是你的最短路径>>。

算法就是Trade-Off

你根本没有办法能得到所有你想得到的东西,任何的选择都意味着放弃——当你要去获得一个东西的时候>,你总是需要放弃一些东西>。人生本来就是一个跷跷板,一头上>>,另一头必然下。这和我们做软件设计或算法设计一样>>,用时间换空间,用空间换时间,还有CAP理论,总是有很多的Trade-Off,正如这个短语的原意一样——你总是要用某种东西去交易某种东西。

我们都在用某种东西在交易我们的未来,有的人用自己的努力>,有的人用自己的思考>,有的人用自己的年轻>,有的人用自己的自由>>,有的人用自己的价值观>>,有的人用自己的道德…… …… 有的人在交换金钱,有的人在交换眼界,有的人在交换经历>>,有的人在交换地位>,有的人在交换能力>>,有的人在交换自由>,有的人在交换兴趣,有的人在交换虚荣心,在交换安逸享乐…… ……

每个人有每个人的算法,每个算法都有每个算法的purpose>>,就算大家在用同样的算法,但是每个人算法中的那些变量>、开关和条件都不一样,得到的结果也不一样。我们就是生活在Matrix里的一段程序,我们每个人的算法决定着我们每个人的选择,我们的选择决定了我们的人生。

原文:http://www.chinawobo.com/articles/8790.html

友荐云推荐
  • 转载请注明来源:网站运营 网址:http://www.chinawobo.com/ 向您的朋友推荐此文章
  • 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者>>。文章版权归文章原始作者所有>。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系我们>,我们会尽快予以更正>>。
RSS订阅
  • QQ邮箱
  • 填写您的邮件地址>,订阅我们的精彩内容:
更多
© 2014 网站运营 - T086.com(原itlearner.com)
  • 河南职业技术学院全国技能(导游类)大赛获佳绩 2018-05-24
  • Футбол -- Арены ЧМ-2018 -- Стадион Нижний Новгород 2018-05-24
  • 美媒:美国对华战略缺乏头脑 2018-05-23
  • 中国钢企布局沿海 柳钢瞄准东盟经济圈 2018-05-23
  • 2018的偶像元年是否只是一场美丽的谎言?偶像练习生创造101选秀 2018-05-22
  • 上海临港有个“儿童大学” 2018-05-20
  • 2017年世界大学学术排名发布 清华进前50大学学术排名大学排行榜 2018-05-20
  • 日本战犯侵华罪行自供 2018-05-19
  • 塑料污染让人痛心 世界最深海沟竟成“垃圾场” 2018-05-19
  • 男子因琐事杀害女友并分尸抛河 警方根据美甲破案嘉兴美甲死者 2018-05-18
  • 166名中国人在泰国操控中国股市被警方押扣审讯 2018-05-17
  • 消防车进商场——“小小消防员”的消防安全乐体验 2018-05-17
  • 学者:“感应舍利”的出现为何是“必然” 2018-05-16
  • 中国等国利用可再生能源创造上千万工作岗位 2018-05-16
  • 只有用在外语环境下学习的人才懂的13个瞬间! 2018-05-16
  • 微商货源 | 冠珠陶瓷 | 6688电视家官网 | 中康体检网 | 安徽极热网 | 北京赛车开奖号码 | 快猴网 | 迪威乐云商devmsn | 易奇八字 | wwe美国职业摔角 | 八字算命 | 河南旅游景点大全 | 冠珠陶瓷 | 广东旅游景点大全 |
    RunTime:6.87ms QueryTime:7