关于“数据结构”的一点思考

  思考这种东西,尝到一点甜头,就想继续往下,就像刚练腹肌一样,别人夸你身材越来越好,你就会更想要练出好几块腹肌出来。对某些知识的思考,肯定必有大量的积累,我曾回忆工作以来的这几年,好像每个阶段都会捧着杂七杂八的书再看,但都是杂乱无序,甚至各不相关,也许是这些知识有了交集,所以有了联想,有了融合。但 这种感觉说不上来,我亦没有对思考的思考,元思考进行认知,但都归结为营养的吸收,之前吃什么拉什么,现在吸收良好。


  因为长期坚持的刻意练习。在看到一些资料的时候总会想着如果是自己该如何去写,是否认同作者的观点,或者提出不一样的观点,更可以从哪个角度。遇到似懂非懂的总想着去拓展拨开那层迷雾。最近看算法图解的体会就是整本书很流畅,总会围绕以前一种在心中隐隐约约存在的迷惑。亦或者带着问题在阅读,所以总会想方设法找到答案。到底是哪一种,不得而知。只是一种生命的另一种延伸,更广阔,融会贯通的感觉是这样的。


大学学习数据结构,为了学而学,其实好像也没学,只是难懂。但为什么会安排学这门课,这个问题至今才抛出,也有了答案。原来当年老师自己也没有融会贯通,所以导致我这种半吊子继续半吊子。

所以数据结构是各种语言的一个基本特征,包括面向过程的c语言,面向对象的python。亦即高级语言低级语言。他们无非都是对数据的处理。如果把业务中的一些对象抽象化或映射为数据,那么可以说是语言就是对数据结构的操作。简单来说,python有元组,列表,字典;c语言有数组等等,这些都是一种数据组织的结构。编程无非是熟练对各种数据结构的灵活运用。选择合适的算法,选择合适的运行时间成本。编程是如此简单。


  那么扩展来说,对于我从事的数据库来说,亦是这个道理。sql也是一种语言,他也不例外。关系型数据库这个就已经明确表明了他的数据结构是一种关系一种表的逻辑结构。所有的编程都围绕的表结构的简单应用,复杂应用。再高难度一点,配合算法,和执行计划优化。当然如果要看懂执行计划又要跑到下一层来看了,这犹如Hadoop的hive,你可以使用hsql,然而底层是用java可能也有c语言封装实现了这一层。sql底层的运行逻辑也是这样。个人没有研究,但推想可以知道。再说说非关系型数据库,nosql,图数据库之类的,比如mongodb,一种keyvalue的数据结构存储形式。他跟关系型的区别无非就是数据结构即管理数据组织的形式不同,一个是表,一个是集合(mongdb没有研究过,也是推想,因为这些数据库都是换汤不换药,本质无异,天下大同)。


  总结一下,从习得算法,到数据结构,到各种语言的抽象,到影射到各种数据库。以上这些都用到哪里去了,计算机。离开了计算机什么都不是,最后都归于到1和0的世界去了。

思绪好像又卡住了。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24349972/viewspace-2213277/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24349972/viewspace-2213277/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值