哦,原来STL这么好,数据的存储结构定义成了类,其中的基本操作和常用功能也用成员函数实现,知道接口,一切搞定,分分钟的事。
可以,问题来了。有这么方便的“基础设施”,花功夫学数据结构课干什么?
第一,作为专业人员,你可能会做“底层”工作,开发出比STL更好的东东,这个理想可以有,这个需求一直在;
第二,只会套接口读手册写代码的,是码奴,知道其内部道道,才能够对现在的库驾驭自如,才能使用好基础设施,生产出真正高质量的产品。这里说的知道,不是入微到每一行代码都明了,而是对其内部的原理“有感觉”,这是专业人员应该具备的。给内行用的东西,你要成为内行。
第三,再全的的工具,总有疏漏,当遇到一个需求,基础设施中没有时,只能自己造。没有数据结构功底,找别人造吧。找别人容易,但问题是,关键时候你就撤,撤哪儿去呢?
第四,数据结构是专业功底,不只是用来干活的,还是指导思维的。即使只说动手能力,到底是hand最重要,还是brain更重要,不言自明。
在知其然知其所以然的路上,奋进吧。基础的数据结构,实用的STL,都可以有。
恰在刚才,一位同学在答疑区说“内容太多太复杂”。我回答:“有什么办法?人生来就是要奋斗的。”当跨过了这座山,回头却只是个小山丘,因为你已经身处高处。