学习数据结构有用吗?

《数据结构》是计算机专业的一门必修课, 可是很多学生学完以后,觉得用处不大, 还不如学个C,Java来的直接一点。

等到工作了以后做业务系统开发,发现根本就用不到那些书中的讲的二叉树、图、排序算法, 更加觉得这门课是在浪费时间了。

这种想法实际上是错误的。

学习数据结构,并不仅仅是学习其中现成的那些队列,堆栈,二叉树,图等经典结构, 也不仅仅是学习其中的那些快速排序、冒泡排序等算法。

更重要的是你要学习一种思想:如何把现实问题转化为计算机语言的表示。

计算机其实一种很笨,很机械的机器,只会按照预定的指令一步步执行, 而计算机语言的特点就是精确、无二意, 它的本质语言是二进制的, 即使是C,Java等高级一点的语言也只不过是包装而已, 它的表达能力并没有本质的提升, 仍然停留在很低的层次。

而我们用的自然语言则是典型的模糊的,不精确的, 程序员面临的一个重要问题, 或者是我们的主要工作就是怎么把自然语言描述的问题转化为计算机语言的表示。

到底该怎么转化, 《数据结构》已经给出了指引: 设计出数据结构, 在施加以算法就行了, 当然现实问题会更复杂, 需要框架,类库,模式等支撑。

这是一种非常重要的逻辑思维能力的锻炼, 也是程序员入门的条件。

很多半路出家的人, 仅仅上了个培训班后参加工作, 写出的代码实在是惨不忍睹, 很明显只掌握了工具,逻辑思维的训练远远不足。

就我个人而言, 大学时学《数据结构》以后, 为了准备高级程序员考试, 把里边的习题全部做了一遍, 发现真是受益匪浅, 不但高程的成绩非常好, 更重要的是在后来的工作中,遇到数据结构相关的实际问题, 基本上没有什么障碍,只要掌握了语言特性, 解决起来非常轻松。

总结一下,《数据结构》这门课其实会潜移默化的影响你的逻辑思维, 当然, 你需要多多练习才有可能使用纯熟, 等它变成身体一部分以后, 你就发现其实大部分编程任务都没什么难度了,更难的其实是对编程更高的要求:抽象的能力。

0?wx_fmt=jpeg

长按二维码, 关注"coderising"

加入QQ群:135769418 和更多热爱编程的朋友交流

0?wx_fmt=jpeg

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值