首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将数据结构和算法应用到实际之中?

一般来说,数据结构和算法这本书上提到的任何算法/数据结构,你都不会有机会重新实现一次。因为,早有就各种各样的库,对外提供了工业级的、充分泛化的实现,只需拿来用就是了。重写的话,一个代码质量/执行速度,显然都极难超过经过千锤百炼的、在无数项目中经过充分测试的库实现;另一个,书上都是为了教学而做的简化实现,实际使用中,需要对算法做一定的泛化。(比如,c的qsort库函数,只要保证数据是以指针数组索引的、对自定义数据须传入比较大小的功能函数,那么任何数据都可以用这个qsort算法排序;C++里面呢,则是和容器、迭代器之类东西结合通盘考虑的,可泛用于任何符合规范的容器和原生数据类型。而课本上的实现,仅能支持数组中的整数。想做到工业水平,没有足够的经验是不可能的。)但,另一方面,所有这些算法/数据结构的设计思路,却会贯穿于绝大部分项目之中。比如说,简单的冒泡算法,它是不是只是“多次扫描一个数组,交换遇到的每一对相邻的、顺序反了的数字;当不再发生交换时,数组已完成排序”甚至”好不容易才死记硬背下来的一段代码“?如果你只学会了这个,那么,你真就完全白学了。作为一个表现一般的排序算法,冒泡排序本身出场率就不高;何况还有各种提供了泛化的sort算法的库:如果仅仅记下了这个,那么你一辈子都不会遇到”必须重写冒泡算法“的场合。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180206A0MW6600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券