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

2019 年 9 月 10 日
 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

5929 次点击
所在节点    分享创造
39 条回复
gansteed
2019 年 9 月 10 日
@mlhorizon
@Kimiato
@bobsam 感谢支持

@shyrock 项目不一定是业务强相关的项目,可能是编译器、runtime、框架实现等等。业务强相关的项目用数组的的确不多。
xrr2016
2019 年 9 月 10 日
支持支持,Mark 一下
lovelife1994
2019 年 9 月 10 日
马克
WytheHuang
2019 年 9 月 10 日
马来人一下
ClutchBear
2019 年 9 月 10 日
这示例图也太艺术性了.
gansteed
2019 年 9 月 10 日
raysonlu
2019 年 9 月 10 日
马克,认真写,有深度,通俗,自然火起来的
codespots
2019 年 9 月 10 日
关注,小弟前端,一直不知道数据结构在前端中的实际应用,可否在教程里大致提几个例子
gansteed
2019 年 9 月 10 日
@raysonlu 感谢建议


@codespots 港真,我 js 用的少,这个可能有难度了
netnr
2019 年 9 月 11 日
@gansteed 昨天刚聊到 数据结构、离散数学、数据建模,没上过大学,让我去看看这些东西,今天早上就看到老哥的主题了,缘分哪,持续关注
qiaogaojian
2019 年 9 月 11 日
先回复 养肥在看
allgy
2019 年 9 月 11 日
支持
LeeChP
2019 年 9 月 11 日
插眼插眼
Varchar
2019 年 9 月 11 日
支持下
BirlGoy
2019 年 9 月 11 日
@ipwx 有道理。好奇心是程序员最最宝贵的品质。
webshe11
2019 年 9 月 12 日
这个博客的标题吓我一跳
gansteed
2019 年 9 月 12 日
@qiaogaojian
@allgy
@LeeChP
@Varchar 感谢支持
@webshe11 和“编程随想”无关的哈哈哈
kuroismith
2019 年 9 月 12 日
推荐工作经验不足的朋友看看 redis 源码, 常见数据结构在 redis 里都有对应的实现, 而且相当简洁, 没什么骚操作.
如果直接源码看不进去可以买本 redis 设计与实现, 写的比较清楚. redis 在业务中很常用, 方便和实际场景结合去理解.

看完了再看 java / c++ 的标准库里面的实现, 就差不多了.
boboyangmoumou
2019 年 9 月 16 日
我要关注收藏,没事看看还不错

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

https://study.congcong.us/t/599481

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

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

© 2021 V2EX