最近在写一个系列《数据结构在实际项目中的使用》

2019-09-10 07:58:29 +08:00
 gansteed

访问: https://jiajunhuang.com/tutorial/data_structure/index.md

在我本科学习数据结构的时候,由于没有项目实战经验,心里充满了疑惑,学习这些数据结构到底有什么用处?在毕业后的这几年, 接触了各式各样的项目,终于理解了数据结构在编程中的重要性。

这个系列教程就是为了解决这样一个问题的,我将会使用很多实际项目中的场景,来说明一种数据结构解决了什么实际问题,他的各种 操作时间复杂度,有何种缺点和优点等等。

由于种种数据结构的典型应用不同,因此本系列中,我们将涉及到 Python,Go 和 C 三种语言,还有一点点汇编知识,但是对此不要感觉到 害怕,他们之间的语法并不会相差太大,基本上 C 语言家族的语言都很类似,相信大家放下心中的恐惧之后可以轻松理解代码的意思。

本系列分为 12 篇,分别介绍了 12 种数据结构在实际项目中的使用:

数组(array)
链表(linked list)
字典(map 或 dict)
栈(stack)
队列(queue)
大小堆(heap)
集合(set(hashset, treeset))
有序集合(树的实现和跳跃表实现,参考 redis)
位图(bitmap)
hyperloglog(参考 redis)
radix tree 或 trie
b tree 和 b+ tree

昨天写完了第一篇 "数组(array)": https://jiajunhuang.com/tutorial/data_structure/array.md

5028 次点击
所在节点    分享创造
39 条回复
cheneydog
2019-09-10 08:53:08 +08:00
出书,出名,赚钱,迎娶白富美,走上人生巅峰。
Natsuno
2019-09-10 08:54:44 +08:00
支持
usapla
2019-09-10 09:01:58 +08:00
持续关注
Jhonson
2019-09-10 09:06:32 +08:00
跟我之前的想法很像,我希望是集思广益,比如 dubbo 里面用到了什么结构时很巧妙的? io 多路复用有哪些结构?每个人都讲讲一些工程中的数据结构,组合起来那就真的强!楼主加油!
qsnow6
2019-09-10 09:12:42 +08:00
收藏!
CareiOS
2019-09-10 09:13:22 +08:00
必须赞一个呀。
doudouwu
2019-09-10 09:15:50 +08:00
很有意思,插眼
gansteed
2019-09-10 09:36:24 +08:00
@cheneydog 国内出书不赚钱(爆款除外)

@Natsuno
@usapla
@qsnow6
@CareiOS
@doudouwu
@Jhonson 感谢支持
Egfly
2019-09-10 09:37:59 +08:00
找个高级一点的头衔,然后去开个课程,收费就完事了
userGyl
2019-09-10 09:46:42 +08:00
收藏 关注
gansteed
2019-09-10 10:09:28 +08:00
@Egfly 哈哈哈,收费课程以后再做

@userGyl 感谢支持
justin2018
2019-09-10 10:12:43 +08:00
nice
wolfie
2019-09-10 10:15:01 +08:00
手写劝退。。。
ipwx
2019-09-10 10:16:49 +08:00
我以为诸位学了这些数据结构,之后的职业生涯中在用到某个别人的库或者系统的时候,会自然地猜到这些数据结构的用处的。然而看来是我多想了……
ipwx
2019-09-10 10:17:47 +08:00
我觉得其实一个优秀的程序员应该具有天生的好奇心,用库和系统会去探究其中的原理,自然会联想到数据结构,不需要别人写教程教的……
gansteed
2019-09-10 10:33:10 +08:00
@justin2018 感谢支持
@wolfie 哈哈,下一篇注解还是打字吧

@ipwx 其实这个主要是针对工作经验不足的同学的,如开篇所说 "在我本科学习数据结构的时候,由于没有项目实战经验,心里充满了疑惑,学习这些数据结构到底有什么用处?在毕业后的这几年, 接触了各式各样的项目,终于理解了数据结构在编程中的重要性。"
mlhorizon
2019-09-10 10:53:11 +08:00
支持楼主做科普,总结一下对自己也是有好处的。
Kimiato
2019-09-10 11:13:20 +08:00
收藏,关注
bobsam
2019-09-10 11:27:25 +08:00
点赞~
shyrock
2019-09-10 11:41:01 +08:00
读完了。。。
问题是这根本不是本帖所说的“实际项目中的应用”啊。。。

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

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

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

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

© 2021 V2EX