
访问: 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
1 cheneydog 2019 年 9 月 10 日 出书,出名,赚钱,迎娶白富美,走上人生巅峰。 |
2 Natsuno 2019 年 9 月 10 日 支持 |
3 usapla 2019 年 9 月 10 日 持续关注 |
4 Jhonson 2019 年 9 月 10 日 跟我之前的想法很像,我希望是集思广益,比如 dubbo 里面用到了什么结构时很巧妙的? io 多路复用有哪些结构?每个人都讲讲一些工程中的数据结构,组合起来那就真的强!楼主加油! |
5 qsnow6 2019 年 9 月 10 日 收藏! |
6 CareiOS 2019 年 9 月 10 日 必须赞一个呀。 |
7 doudouwu 2019 年 9 月 10 日 很有意思,插眼 |
8 gansteed OP |
9 Egfly 2019 年 9 月 10 日 找个高级一点的头衔,然后去开个课程,收费就完事了 |
10 userGyl 2019 年 9 月 10 日 收藏 关注 |
12 justin2018 2019 年 9 月 10 日 nice |
13 wolfie 2019 年 9 月 10 日 手写劝退。。。 |
15 ipwx 2019 年 9 月 10 日 我觉得其实一个优秀的程序员应该具有天生的好奇心,用库和系统会去探究其中的原理,自然会联想到数据结构,不需要别人写教程教的…… |
16 gansteed OP @justin2018 感谢支持 @wolfie 哈哈,下一篇注解还是打字吧 @ipwx 其实这个主要是针对工作经验不足的同学的,如开篇所说 "在我本科学习数据结构的时候,由于没有项目实战经验,心里充满了疑惑,学习这些数据结构到底有什么用处?在毕业后的这几年, 接触了各式各样的项目,终于理解了数据结构在编程中的重要性。" |
17 mlhorizon 2019 年 9 月 10 日 支持楼主做科普,总结一下对自己也是有好处的。 |
18 Kimiato 2019 年 9 月 10 日 via Android 收藏,关注 |
19 bobsam 2019 年 9 月 10 日 点赞~ |
20 shyrock 2019 年 9 月 10 日 读完了。。。 问题是这根本不是本帖所说的“实际项目中的应用”啊。。。 |
21 gansteed OP |
22 xrr2016 2019 年 9 月 10 日 via Android 支持支持,Mark 一下 |
23 lovelife1994 2019 年 9 月 10 日 via iPhone 马克 |
24 WytheHuang 2019 年 9 月 10 日 via Android 马来人一下 |
25 ClutchBear 2019 年 9 月 10 日 这示例图也太艺术性了. |
26 gansteed OP |
27 raysonlu 2019 年 9 月 10 日 马克,认真写,有深度,通俗,自然火起来的 |
28 codespots 2019 年 9 月 10 日 关注,小弟前端,一直不知道数据结构在前端中的实际应用,可否在教程里大致提几个例子 |
31 qiaogaojian 2019 年 9 月 11 日 先回复 养肥在看 |
32 allgy 2019 年 9 月 11 日 支持 |
33 LeeChP 2019 年 9 月 11 日 via iPhone 插眼插眼 |
34 Varchar 2019 年 9 月 11 日 via iPhone 支持下 |
36 webshe11 2019 年 9 月 12 日 这个博客的标题吓我一跳 |
38 kuroismith 2019 年 9 月 12 日 推荐工作经验不足的朋友看看 redis 源码, 常见数据结构在 redis 里都有对应的实现, 而且相当简洁, 没什么骚操作. 如果直接源码看不进去可以买本 redis 设计与实现, 写的比较清楚. redis 在业务中很常用, 方便和实际场景结合去理解. 看完了再看 java / c++ 的标准库里面的实现, 就差不多了. |
39 boboyangmoumou 2019 年 9 月 16 日 我要关注收藏,没事看看还不错 |