这周看了Martin的演讲,讲的是 高性能系统的设计 。他劝我们一定要舍得时间和精力在数据结构上下功夫,因为数据结构会陪伴你的整个职业生涯,长久不息的回报你,是一个程序员最好的投资。
为什么数据结构会有这种收益?
掌握好数据结构能帮助我们节省时间,并且每天都能省,这是因为我们每天都要和他们打交道。这就像,你每天上班,必须得坐地铁,但地铁太绕,开车 十分钟能到的路程,生生被饶了一个半小时,后来你终于学会了开车,开车上班,每天省了一个小时二十分钟。如果数据结构掌握的不好,Queue里边有什么方 法,怎么用还得看文档,毫无疑问,这绕的太多,浪费了太多时间。
熟能生巧,一个巧字,如果你有幸遇到了,我磐石般的相信,这将是你作为程序员中生命中最为闪亮的时刻。 学习之道 ,引起我强烈共鸣的一本书,讲述了作者Josh如何成长为象棋和太极宗师。我想利用其中的一段小故事来说明这个巧字。
和很多普通象棋学习者不同,Josh学象棋的时候,不是从开局而是从尾局开始,他解释道,在棋盘上所剩无几的时候,才能体会到一个棋子所能爆发 的最大能量。只有把每个棋子的用法都体会透彻之后,才能催生出妙招。在一次比赛中,当所有的人都认为要和棋的时候,Josh走出了连自己都无法解释的妙 招,这也许就是传说中的无招胜有招。其实,这并不是一种偶然,而是他积累到了熟能生巧的阶段,当知识融会贯通的时候,巧妙的招数,想法便不知不觉由心而生 了。
我相信,学习数据结构,也会有同样的功效。我时常会沉浸于一些程序员所创造出的新的数据结构或算法,不可自拔,感叹他们的聪明才智。可他们之所 以能创造出巧妙的新结构,也是他们在基本的数据结构上投入了大量精力,不仅知道他们的实现原理,怎么用,而且还知道为什么要这么用。
编辑推荐:掘金是一个高质量的技术社区,从 Android 教程到面试经验,性能优化到炫酷动效,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或到各大应用市场搜索「掘金」,技术干货尽在掌握中。
版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《程序员最好的投资:数据结构》的版权归原作者「Android开发中文站」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458
文章来源: 阅读原文
Android开发中文站微信公众号:AndroidChinaNet
手机扫描上方二维码即可关注Android开发中文站微信公众号