感性而形象的理解数据结构(看山不是山)

作者:知乎用户
链接: https://www.zhihu.com/question/19830721/answer/25999615
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

以非常不专业的语言,分享一下自己的理解,帮大家感性的认识一下数据结构。
.........................................................
想象一下你有一条非常非常长的纸条
这张纸条只能写一行字
现在要你把一些描述现实世界的东西写在这张纸条上。
然后把这张纸条给别人。
别人通过这张纸条重构你所描述的世界,或者在里面查找、推演出自己所需要的信息。

1.这张纸条就是信息的载体,包括硬盘、内存、磁盘、甚至磁带...说白了他们都是一张转着圈或者拐着弯的纸条。
2.给别人的过程就是读写硬盘过程、网络传输过程等等......
3.数据结构所解决的问题就是,你怎么用一行字啰里八嗦的把这些东西描述出来,别人怎么读懂这些啰里吧嗦的东西(注:你看着啰嗦没事,机器看着不罗嗦就行)
4.编程,就是怎么解决3,怎么解决3之后解决你重构出来的世界的一些具体问题...

结语:只要把你的世界观从三维转到一维,你就能学懂数据结构了...
......………………
在此,华丽丽的脑补一下黑客帝国中,现实世界碎成渣,变为一串串帅气的数字雨

数字雨又华丽丽的重组,形成了一个一模一样的世界

.........................
当然我们遇到的工程问题,远没有真实世界这么复杂。
如果脑洞还够大的话,
可以想象一下,
你是一个间谍,
要把敌人机构的层级关系,用摩斯密码发出去。
要把敌人网状的地下通道的结构,用摩斯密码发出去.....
(是不是抱着发报机,哭着后悔没学好数据结构了,学渣同学)
..........................
你以为你在看一个网页?
右键单击网页,查看源代码。
其实,你看的是一串字符,换行处的字符是\r\n
这是结构化的一行数据。
浏览器理解了这种结构,
显示给你看到了这个漂亮的网页。

你以为你看的是一个图片?
他也是一圈蛇形排列的数值串,(特定格式)
操控着显示器的色彩明暗,
虚拟一个现实给你,
也是结构化的一行数据。

你以为word很神秘?
后缀改成.zip,
然后解压,
你看到的,
还是一堆结构化的数据。

结构是人为的规则,书里讲的数据结构,是数据组织最基本的规则。
还有各种各样的数据标准,文件格式,只不过是更高级别的数据组织规则。

再继续深入的话,语言,思维,规律,数学,哲学,万物,三,二,一,道,自然.....
..........................
题外话:1.一个工程问题首先抽象成理论问题,然后利用数学方法进行推演解决,获得了理论知识。然后一套理论知识形成一本书或者一门课。学一门课首先或者最终一定要搞清它解决的是什么样的工程问题,才算是学懂了。
换句话说, 你要知道当初那个人是遇到了多么苦逼的问题,才提出一个这么牛逼的解决办法。
2.学一门课,最重要的是理解, 遇到实际问题要知道用什么方法去解决。
打个比方就是为知识在大脑内存里建立索引,将知识存在外存,比如书本,百度之类,用到了再去复习一下读进内存。(不排除有内存够大的同学都记在脑子里)
比如当要你用关系数据库去存储树结构的时候,当给你链表让你拼写返回json数据的时候,当你要搜索一个矩阵中的连通区域的时候,最最起码要做到的是,知道自己现在需要一本数据结构的书,再好点要知道用哪一个章节的哪个模型。
学霸可能已经动手写出来了,但作为学渣翻翻书再写出来,也不会很丢人吧。
而且,下次你就可能就用不到翻书了。
3. 不要让死气沉沉的概念、定义,约束了自己的想象力。一开始定义这个定义的人,沉淀了自己的思想,做出了精准的描述,为的是更好的与别人交流这个东西,而不是用来约束别人的思想。
4.当然,自己的专业知识、专业技能,最终还是要沉淀下来,毕竟还要靠它吃饭。最后还是赶快听楼上几位大牛的忠告,脚踏实地的去码代码吧...
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值