数据结构与哲学家

数据结构汇总之 胡诌

一个故事讲完数据结构


     回溯到记忆里的某一天,那年Wakingup才4岁。桌上一盒饼,盒子分为大小相等的几块凹槽,饼干整整齐齐地躺在里面,这家伙两眼放光接着就仅顾着吃,却没想过,这其实就是 数组 咧。

    童年的时光无忧无虑,她喜欢和小伙伴们玩老鹰抓小鸡的游戏,每个小伙伴都有自己的名字,都紧纂着前面衣服,一个接着一个形成一列,她最调皮了,喜欢大家排完后“嗖”地插到中间,那时光顾着玩了,谁会想到,这其实是一个 链表 呢。

    学校里,老师总是教导同学们要懂规矩、守纪律,Wakingup是好学生,每次去打饭都乖乖排队,当然没有人告诉她,这就是传说中的 队列

    转眼就快高考,去向小瓜学长请教经验。

    “你以后想学什么专业呀?”

    “化学方面的吧,理综我一般都能提前交卷”

    “额。。不建议提前交卷。”

    “emmm,为什么?”

    “这玩意儿不就是cs中的 嘛, first in last out,你想第一个交卷子放在最底层,肯定最后一个改嘛,这时候的老师最喜欢挑毛病了,所以第一个交有时候比较吃亏…还有用最简单的 枚举法 。。哦不举个例子来说……”

    “(๑ŐдŐ)b。。有道理”

    ”唉~有时候呢感情也是这样的,并不是讲究先来后到。。”

    …..

    虽然Wakingup不知道cs是什么,不知道 是什么,也看不懂小瓜学长脸上的淡淡忧伤,但是她心里表示深深赞同,大学生果然是不一样。不过她很调皮,每次还是第一个交卷,最后兴高采烈选择了高分子材料专业。

    大学的氛围宽松自由。一次班级团活进行“搜书”比赛,分成几个组按编号在图书馆找书,用时最短获胜。虽然和前面一名差的很远,wakingup那一组还是获得三等奖,嗯总共只有三个组。去第一名那里套经验,“ 查找 这个问题简单,你先按照第一关键字找到楼层,第二关键字找到区域….最后用 二分法…很快就ok了…” 小哥哥说完,嘴角露出狡黠的微笑,意味深长。 “哦。”她半懂不懂,但是,她不想让别人知道她笨。

    Wakingup是个不算迷糊的人,大家学习她也学习,大家实验她也实验。老师说这个专业是“越老越吃香”,她也觉得很有道理。那些程序员,不就个个都吃青春饭嘛,加班熬夜猝死人。那时候她21岁,很天真,她想爱,想吃,想变成天上忽明忽暗的云,想当一个科学家。可是她有时也会苦恼,觉得材料这个科学内容很多,但好像自己什么也没学会,回想实验其实貌似没有一个完全成功过,这让她痛苦。

    “人生的意义是什么呢?”首先归根结底看人,人,本质就是一切社会关系的总和,这时脑海里浮现出高中生物课上,那个状结构“家族遗传图谱”。。。千秋万代,子子孙孙,长幼有序,难道人生的意义在于繁衍?。。可是,就只是繁衍嘛?…循环往复,这些乱七八糟的问题,每次期末结束,都要在脑海里翻涌一遍。终于有一天,她发现了知乎,发现了更大的世界,发现弗兰克扬兄,还有一连 的回答。这些回答总是会心一击,“一个人的奋斗,不单单要看努力,还要看历史的行程啊”。她想到小瓜学长的劝告,想到了“二分法”同学的微笑,不由脊背微凉。这些问答也引发了她的思考,很多人去追逐的东西就一定是“趋之若鹜”么?就一定不好么? 不算太笨的她 递归地想到以前的事情,高中饭堂5号窗口为什么总是“人满为患”排到门口,因为阿姨给的多啊!!由此推出自己母胎单身的原因了,这让她更忧伤了。不过这时她的个人意识开始觉醒。承认自己在科研上没有天赋的事实,梦想破灭,沮丧,之后竟一身轻松。

    她决定尝试编程,长者都说“不要用战术上的勤奋,掩盖战略上的懒惰”。不过年轻人总是浮躁又贪心的,她 贪心 地以为世界上真有最好的语言、 最短的路径 ,能促使她最快、最大程度掌握编程。可生活不像程序非黑即白,世界上不存在捷径,真正的捷径其实就是最难的那条。她明白这个道理前,绕了不少弯路,她开始学习一点数据结构。眼前荆棘遍布,困难重重,她很颓丧,玩了一阵子后,发现困难还是要解决掉。她决定把目标分为很多小块去学,定期总结整理,最后整成一个系统。这个方案简直要让她拍案叫绝,就地打call,这不就是数据结构中的分治+归并 思想嘛,嘿嘿!喜不自禁地想要分享,远方的朋友提醒她“最好抓紧时间实个习,没学完不要紧,生活不是做菜,不必想着等全部材料准备好才下锅” 也对,如此以来,实在不行下个火锅,也可以美滋滋。哎呀不得了,她又发现了一个规律,人生就是一步一步 动态规划 啊,所有的的今日都是由昨日造就,所有的今日造就了未来,所有当下平平淡淡的、波澜不惊的、微不足道的决定或者选择足以让整个人生发生翻天覆地的变化。

    想到人生,她可是感触颇深,虽然涉世未深,但是思维深度却自觉远远超越老一辈。就人生的广度和深度来说,她觉得这个就比程序中的厉害的多,程序中的迷宫一般一次仅可以采用DFS(深度优先探索) 或者 BFS(广度优先探索) ,但是现实人生中完全可以 DFSBFS 同时进行嘛。不过程序中的迷宫可以倒退回去,现实人生却不可重来。想到这,她觉得更应该谨慎地对待自己的人生了。回忆以前网上有个视频,讲的是一个人的人生一直到死前,最遗憾的没有做过的100件事。她决定也列个清单,本来想着用 八大排序根据重要性来排个序,可是她太笨了,虽然她一直没有承认,这个小脑袋瓜确确承受不了这么大的复杂度,连最简单的快速排序O(nlogn)都受不了。怎么办啊,她又开始陷入无尽的纠结与惆怅……

    ……

    一直到死,她终究没有完全学会 数据结构






    她成为了 哲学家

-------------本文结束感谢您的阅读-------------