昨晚快十二点,还在收拾电脑桌面。图标拖得手指发酸,按日子排,按类型分,硬是整出个跟军训似的方阵。看着这阵仗,脑子里突然就蹦出大二啃《算法与数据结构》的那个傍晚。书上死磕一个词儿:抽象数据类型。说白了,就是把一坨乱糟糟的东西打包,套个清晰的接口。往里塞东西,往外取东西,底层咋存的、咋算的,一概不管。逻辑上挑不出毛病。可咱这日子呢?偏偏不爱配合这种“封装”。这事儿大概就是这么个意思。你越想规整,它越给你整幺蛾子。对吧?

咱们总爱给记忆搞去重。给人际关系做剪枝。把情绪一股脑儿压进栈里,讲究个后进先出;或者排着队,挨个儿处理。心里盘算着,这么干就能把人生的“时间复杂度”降下来,少绕弯子,早点拿到结果。结果呢?真到了岔路口,那些被你标成“冗余”的旧照片、舍不得删的聊天记录、早断了线却偶尔冒出来的名字,反倒在后台悄悄吃满内存。效率这玩意儿。有时候就是个幻觉。你删得越干净,心里那块地反而越荒,连个落脚的坑都没有。

说实在的,我以前也是个“最优解”信徒。上班这几年,日程表排得连喘气缝儿都没有。朋友圈按“有没有用”分层,连发个呆都觉得自己亏了。总以为代码写得够精密,日子就能顺顺当当跑通。那时候真觉得,人与人打交道也得像高效查找表似的,甩个关键词过去,立马弹回结果。要是处段关系得反复猜心思,聊个天能掏空半条命,那肯定“不划算”,赶紧剔除。咱们习惯拿“复杂度”这把尺子量一切。以为把旁枝末节砍干净,主干就能笔直往上蹿。但我现在觉得,未必。把日子过成Excel表格,省下的时间可能全用来焦虑了。说实话,挺亏的。

直到上个周末。我在老房子抽屉里翻出一本五年前的破笔记本。纸边都黄了。里头记的全是没头没尾的碎碎念。还有当时觉得天塌了、现在看纯属瞎操心的破事儿。比如“今天PPT字体没对齐”,或者“楼下流浪猫死了”。我盯着那页纸发愣。突然就懂了。那些被我当成“无效数据”一键清空的玩意儿,其实拼凑出了我当时的呼吸。要是人生真有个稳当的排序算法,它绝不可能按“有用没用”来摆位置。生活里好多事儿,偏偏就是靠着那点“笨功夫”和“来回折腾”,才留下了印子。这事儿没法量化。但人就是靠这些没用的瞬间,才觉得自己活过。

后来再碰那本教材。翻到栈与队列、树与图那几章,倒觉得它们不像什么冷冰冰的公式。倒像句软话。数据结构非得搞出这么多花样。是因为现实里的东西本来就有轻有重、有急有缓。有的适合压进栈里慢慢吐。有的得一层层剥开看。有的压根没法用一条线拴住。咱们老想给生活套个万能接口,假装啥都能随时调用、随时释放。可真正压秤的分量呢?全藏在那些没写说明书的底层实现里。是没赶上末班地铁的懊恼。是打了又删的消息。是明知道费劲儿、却死活改不掉的老毛病。它们提不了一丁点效率。却实打实地,把一个人的底子垫厚了。我觉得吧,所谓成熟,可能就是承认自己根本跑不通什么最优路径。非得撞几次南墙,才肯回头。

也许人这辈子,学的都是怎么跟“冗余”搭伙过日子。别死磕每天非得跑成最优路线。也别逼着记忆必须干干净净。允许有些关系,就浮在水面上。允许有些路,走到底不回头。允许自己偶尔像个卡顿的旧程序,在角落慢吞吞地加载。书里的算法不会改。但日子,从来不需要被编译。等到哪天夜里你静下来,不急着清缓存了,就瞅着那一堆乱糟糟的数据慢慢看。心里大概会松口气。嘿,它们本来就该搁在那儿。反正编译了也不一定能跑通。不如就让它这么乱着吧。挺踏实的。