似乎计算机数据结构中存在一个明显的“技术断层”?

2020-04-15 09:01:22 +08:00
 abcbuzhiming
计算机的数据结构这个东西,看起来东西不多,但是里面有一些很突兀的存在。绝大部分书也好,教程也好,介绍数据结构的时候,套路都是 数组 链表 Map(table) ,队列,栈。然后就会出现两个画风(难度)和之前的东西截然不同的存在——树和图。
我搞这行的时间也不算短了,也接触了不少人,发现 树和图 对于大部分人来说都是难以理解的存在,包括我自己也是。不是说他们的表现形式难以理解,而是指附加其上的计算行为,很复杂,有多重变种。和在他们之前的那些数据结构比起来,感觉他们的复杂度猛然抬了个台阶起来。非常的显眼而且突兀。
我注意到这点越久,就越怀疑这两个东西存在的“合理性”,他们就像塞进耗子窝里的大象那么显眼。这中间是不是缺少了什么,我们知道计算机的一切往上追溯都来自于数学,数学能解释这两个东西如此突兀的现象吗,还是说历史埋葬了一些东西,在 树和图 之前其实存在某些“前置科技”,只是因为种种原因,“前置科技”的功能被后来者覆盖了,就消失在历史长河里了
15865 次点击
所在节点    程序员
136 条回复
alphatoad
2020-04-15 09:34:26 +08:00
@CEBBCAT 这有啥难的……
iamdqncoder
2020-04-15 09:34:58 +08:00
树和图 的前置科技 不就是 链表、栈这些吗?相对于一个单个的结构, 链表的复杂程度 不也算是数量级的提升吗
dreamapple
2020-04-15 09:35:21 +08:00
绝大多数的书是什么书?就我大三的数据结构教材和算法导论来说树和图都是平滑过渡的。
估计 lz 意思是绝大多数 csdn 博客吧
kindjeff
2020-04-15 09:38:25 +08:00
链表、树和图是递进关系楼上都已经说过了,想吐槽一下楼主的逻辑倒是有两个断层:根据身边的都「感觉」得到「技术断层」的猜想;希望给出这个猜想的「数学证明」。

这样的猜想恐怕只能用「我身边的人都不觉得难」来反证了吧。(逃)
zivyou
2020-04-15 09:38:38 +08:00
数组 链表 Map(table) ,队列,栈 这些都是线性结构
树,图都是非线性结构
从线性结构 到 非线性结构,难度自然也是非线性增加的

我感觉有点像 算术 -> 数学 的进阶过程
fancy111
2020-04-15 09:40:09 +08:00
抱歉,我真的没听懂你在说什么。
Vegetable
2020-04-15 09:40:28 +08:00
简单的都是一维的,难的都是二维甚至更高维度的。

不在一个维度,自然对抽象能力有更高的要求,正常情况。
FFFire
2020-04-15 09:46:53 +08:00
歪个楼,前几天出于兴趣看了 CPU 的发展史,感觉发展得更突兀,要是有业内大佬指点两句就好了
also24
2020-04-15 09:49:38 +08:00
数组链表的逻辑结构和存储结构相对来说比较相似。


树、图的逻辑结构和存储结构就存在比较大的差异了。
janwarlen
2020-04-15 09:50:33 +08:00
不都是链表?
队列、栈(存在数组形式)、树、图(存在数组形式)
MisakaTang
2020-04-15 09:50:42 +08:00
按照我的理解可能就是从像数组这样的连续地址空间的结构到像链表这样的非连续地址空间的结构?按照这样的话,链表和树都可以算是图的一种简单形式了
watzds
2020-04-15 09:53:28 +08:00
人脑内存不够,族谱,亲戚称呼也难啊
goodboy95
2020-04-15 09:55:21 +08:00
你说断层的时候我第一反应也是链表……
话说,树本身不难理解吧,毕竟也是单向的数据结构,难的话只能说难在应用上,一个二叉树衍生出那么多应用
lvybupt
2020-04-15 10:05:02 +08:00
数据结构的前置课程是离散数学,如果把离散数学学透会对数据结构的学习和理解有非常大的帮助。
RubyJack
2020-04-15 10:06:46 +08:00
树图都需要一些递归思维
reedthink
2020-04-15 10:09:32 +08:00
树本身简单,难的是那些神奇的应用
enrio
2020-04-15 10:13:51 +08:00
一个维度满了,就升维啊。而且,我觉得数据结构的算法,也不算难吧,就算你理解不了或者证明不了,但是怎么去写以及会产生什么样的效果还是很清楚的。
tongyang
2020-04-15 10:14:20 +08:00
学不明白 大学的数据结构怎么过呀
wysnylc
2020-04-15 10:16:58 +08:00
你们这样就显得发帖的很菜😂
mazyi
2020-04-15 10:19:26 +08:00
不,是你不够聪明

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/662507

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX