《数据结构精讲:从原理到实战》硅谷资深工程师带你玩转数据结构

课程介绍

课程出自《数据结构精讲:从原理到实战》硅谷资深工程师带你玩转数据结构

栏目介绍

很多开发者认为:平时写业务代码,使用封装好的接口和类库进行开发。他们不需要考虑自己是用哪种数据结构构建的,甚至认为数据结构只是为了面试。可以使用。

但是很多技术人员对数据结构的理解是错误的:

1、只能使用,但不了解底层原理:我看过很多算法和架构设计方面的书籍和资料,并且使用开源软件,但一直没有理解底层数据结构的原理。如果不了解底层原理,只能堆砌业务逻辑,这会让整个代码库变得极其琐碎、复杂、难以维护。如果使用不当,那么你甚至没有很好地堆叠业务逻辑,这将导致资源消耗过多和高延迟等问题。

2、你只能通过面试来学习,但你不会在工作中使用它们:“在面试中制造火箭,在工作中拧螺丝”很多人认为他们需要在面试中进行测试,所以他们只学习。但实际上,如果正确使用数据结构,可以通过最优解,为不同算法和数据结构的组合找到最佳的时间复杂度和空间复杂度,这将使你的业务编码能力有质的飞跃。

本专栏将从底层到应用层贯穿整个思路,结合硅谷一线公司的最佳实践和顶级开源软件的应用,来聊聊数据结构“what,why,how to do”,让你明白为什么这些数据结构存在,什么样的问题在什么情况下可以最好的解决,进而在编码上有质的飞跃。

五个模块,带你征服数据结构实战:

模块 1 数组和链表。首先带大家回到时间复杂度和空间复杂度,深入了解数组和链表的内存结构。

模块 2 哈希表。本模块将带您通过比特币挖矿案例了解哈希函数和哈希冲突的本质。

模块三棵树。在树模块中,解释了树的结构属性。我将以 MySQL 语法树为例,看看该树如何在 Amazon AWS 中超大型数据库的查询中发挥主要作用。后半部分将拆解LSM树在Apache项目中的应用。

模块4、图也是大型工厂中使用最广泛的数据结构之一。我们将以 Apache Spark 为例,看看有向无环图如何优化大规模分布式操作的顺序。使用优步的车辆调度算法,帮助你了解地图是如何实现这些硅谷一线工厂的核心功能的。

Module 5 数据结构组合。实战中会整合多种数据结构来实现业务逻辑。本模块将从 Nginx 中的缓存数据结构开始,如哈希表、链表、红黑树和 LRU 缓存,然后根据 Instagram 和 Twitter 的高并发限流机制的数据结构实际应用,取您可以轻松使用数据结构。实战中,可以轻松打出数据结构组合拳。

文件目录

LJ数据结构:从原理到实战.rar

阅读剩余
THE END