课程简介

极客时间快速上手 C++ 数据结构与算法,由乐学编程课堂网(lexuecode.com)整理发布,网盘分享下载。课程资源是以.md、pdf和mp3形式(非视频)发放。本课帮你抛下身上对于数据结构与算法的沉重包袱,回归最基础的概念与代码,夯实基础、打开思路,潜移默化地培养数据结构与算法的敏感度,更为之后的每一次实战打下坚实的基础。

相关课程

C/C++ 从0到1系统精讲 项目开发综合基础课

C/C++气象数据中心实战,手把手教你做工业级项目

课程大纲

预习模块
到底什么是数据结构与算法?为什么编程环境还会是我们的绊脚石?这一模块将为你打开数据结构与算法的大门,扫清所有非知识性的障碍,同时,也将回到具体的代码实现上,为你建立算法的时间复杂度和空间复杂度的意识,为后面的学习打好基础。

基础模块
这个模块包括线性表、树、图、排序、字符串、跳表与哈希表等等面试或应用当中遇到的大部分数据结构与算法。课程会先详细呈现一个数据结构或一个算法的概念和思路,充分理解后,再将思路通过代码的方式实现出来,整个过程会更顺理成章。同时,也避免了在学习的初级阶段就接触过多抽象思维,删繁就简,易懂性强。

进阶篇
这个模块包含一些难度相对较大,在面试中出现频率没那么高的内容,比如 B+ 树、折半插入排序、计数排序、基数排序及桶排序等等。少花一点精力,少敲一些代码,把课程中讲解的内容理解就完全没问题了。

课程目录

├── [ 53M] 01|编程环境:工欲善其事,必先利其器.mp3
├── [1.2M] 01|编程环境:工欲善其事,必先利其器.pdf
├── [ 43M] 02|顺序表(上):如何实现快速地随机访问?.mp3
├── [1.9M] 02|顺序表(上):如何实现快速地随机访问?.pdf
├── [ 34M] 03|顺序表(下):常用操作合集与复杂度分析.mp3
├── [2.2M] 03|顺序表(下):常用操作合集与复杂度分析.pdf
├── [ 48M] 04|单链表:如何通过指针提升插入、删除数据的速度?.mp3
├── [ 53K] 04|单链表:如何通过指针提升插入、删除数据的速度?.pdf
├── [ 27M] 05|双链表:搜索链表中节点的速度还可以更快吗?.mp3
├── [ 53K] 05|双链表:搜索链表中节点的速度还可以更快吗?.pdf
├── [ 31M] 06|循环链表:如何更方便地寻找数据?.mp3
├── [ 53K] 06|循环链表:如何更方便地寻找数据?.pdf
├── [ 26M] 07|静态链表:用一维数组表达的链表.mp3
├── [2.4M] 07|静态链表:用一维数组表达的链表.pdf
├── [ 40M] 08|栈:如何实现数据的后进先出?.mp3
├── [2.0M] 08|栈:如何实现数据的后进先出?.pdf
├── [ 28M] 09|队列:如何实现数据的先进先出?.mp3
├── [2.1M] 09|队列:如何实现数据的先进先出?.pdf
├── [ 45M] 10|二叉树:二叉树到底长什么样子?.mp3
├── [4.3M] 10|二叉树:二叉树到底长什么样子?.pdf
├── [ 35M] 11|二叉树:深度优先和广度优先遍历是什么?.mp3
├── [ 14M] 11|二叉树:深度优先和广度优先遍历是什么?.pdf
├── [ 25M] 12|二叉树:如何存储二叉树?.mp3
├── [ 53K] 12|二叉树:如何存储二叉树?.pdf
├── [ 28M] 13|线索二叉树:如何线索化二叉树以提升访问速度?.mp3
├── [ 53K] 13|线索二叉树:如何线索化二叉树以提升访问速度?.pdf
├── [ 33M] 14|二叉查找树(BST):查找速度你最行.mp3
├── [3.8M] 14|二叉查找树(BST):查找速度你最行.pdf
├── [ 49M] 15|平衡二叉树(AVL):平衡如此重要,怎么做到的?.mp3
├── [5.3M] 15|平衡二叉树(AVL):平衡如此重要,怎么做到的?.pdf
├── [ 51M] 16|平衡二叉树(AVL):节点删除后的平衡性调整.mp3
├── [3.1M] 16|平衡二叉树(AVL):节点删除后的平衡性调整.pdf
├── [ 26M] 17|红黑(R-B)树:和平衡二叉树有什么不同?.mp3
├── [2.2M] 17|红黑(R-B)树:和平衡二叉树有什么不同?.pdf
├── [ 28M] 18|红黑(R-B)树:节点插入后的平衡性调整.mp3
├── [7.8M] 18|红黑(R-B)树:节点插入后的平衡性调整.pdf
├── [ 36M] 19|红黑(R-B)树:节点删除后的平衡性调整(一).mp3
├── [9.6M] 19|红黑(R-B)树:节点删除后的平衡性调整(一).pdf
├── [ 17M] 20|红黑(R-B)树:节点删除后的平衡性调整(二).mp3
├── [ 14M] 20|红黑(R-B)树:节点删除后的平衡性调整(二).pdf
├── [ 20M] 21|哈夫曼(Huffman)树:将数据压缩后再传输更省带宽.mp3
├── [3.9M] 21|哈夫曼(Huffman)树:将数据压缩后再传输更省带宽.pdf
├── [ 22M] 22|树、森林、二叉树:相互之间的转换.mp3
├── [7.4M] 22|树、森林、二叉树:相互之间的转换.pdf
├── [ 18M] 23|图:如何用图表达错综复杂的数据?.mp3
├── [6.9M] 23|图:如何用图表达错综复杂的数据?.pdf
├── [ 18M] 24|图的存储(上):邻接矩阵、邻接表和十字链表有什么不同?.mp3
├── [3.4M] 24|图的存储(上):邻接矩阵、邻接表和十字链表有什么不同?.pdf
├── [ 14M] 25|图的存储(下):为什么我们还需要邻接多重表和边集数组?.mp3
├── [3.9M] 25|图的存储(下):为什么我们还需要邻接多重表和边集数组?.pdf
├── [ 17M] 26|图:深度优先遍历(DFS)与广度优先遍历(BFS).mp3
├── [1.9M] 26|图:深度优先遍历(DFS)与广度优先遍历(BFS).pdf
├── [ 15M] 27|最小生成树:如何用普里姆(Prim)算法解决修路费用最少的问题?.mp3
├── [2.4M] 27|最小生成树:如何用普里姆(Prim)算法解决修路费用最少的问题?.pdf
├── [ 12M] 28|最小生成树:克鲁斯卡尔(Kruskal)算法与修路费用最少的问题?.mp3
├── [2.4M] 28|最小生成树:克鲁斯卡尔(Kruskal)算法与修路费用最少的问题?.pdf
├── [ 20M] 29|最短路径:迪杰斯特拉(Dijkstra)算法与选择最节省时间的行走路线问题.mp3
├── [3.0M] 29|最短路径:迪杰斯特拉(Dijkstra)算法与选择最节省时间的行走路线问题.pdf
├── [ 12M] 30|最短路径:弗洛伊德(Floyd)算法与乘车费用最少的问题.mp3
├── [2.4M] 30|最短路径:弗洛伊德(Floyd)算法与乘车费用最少的问题.pdf
├── [ 11M] 31|图的应用:如何通过拓扑排序找到合理的先后顺序?.mp3
├── [1.5M] 31|图的应用:如何通过拓扑排序找到合理的先后顺序?.pdf
├── [ 21M] 32|图的应用:如何通过关键路径估算完成工程需要的最短时间?.mp3
├── [4.1M] 32|图的应用:如何通过关键路径估算完成工程需要的最短时间?.pdf
├── [ 15M] 33|直接插入排序:为什么数据越有序,排序速度越快?.mp3
├── [ 53K] 33|直接插入排序:为什么数据越有序,排序速度越快?.pdf
├── [ 11M] 34|希尔排序:通过部分有序逼近全局有序.mp3
├── [ 53K] 34|希尔排序:通过部分有序逼近全局有序.pdf
├── [6.6M] 35|冒泡排序:大数下沉,小数上浮.mp3
├── 乐学编程网lexuecode.com
├── [ 53K] 35|冒泡排序:大数下沉,小数上浮.pdf
├── [ 15M] 36|快速排序:如何通过基准元素改进冒泡排序?.mp3
├── [ 53K] 36|快速排序:如何通过基准元素改进冒泡排序?.pdf
├── [ 17M] 37|简单选择排序与堆排序:多趟排序与利用有序完全二叉树进行排序.mp3
├── [3.2M] 37|简单选择排序与堆排序:多趟排序与利用有序完全二叉树进行排序.pdf
├── [ 11M] 38|归并排序:将多个有序序列按其中的元素值大小两两合并.mp3
├── [5.1M] 38|归并排序:将多个有序序列按其中的元素值大小两两合并.pdf
├── [8.5M] 39|串的顺序和链式存储结构:定长数组与动态数组.mp3
├── [3.5M] 39|串的顺序和链式存储结构:定长数组与动态数组.pdf
├── [ 24M] 40|串的朴素模式匹配算法:暴力但容易理解.mp3
├── [1.5M] 40|串的朴素模式匹配算法:暴力但容易理解.pdf
├── [ 15M] 41|串的KMP模式匹配算法观察:理解困难.mp3
├── [4.3M] 41|串的KMP模式匹配算法观察:理解困难.pdf
├── [ 11M] 42|串的KMP模式匹配算法之实现与性能分析:代码实现简单.mp3
├── [ 53K] 42|串的KMP模式匹配算法之实现与性能分析:代码实现简单.pdf
├── [ 18M] 43|串的KMP模式匹配算法之改进:通过优化代码解决多次重复比较问题.mp3
├── [ 53K] 43|串的KMP模式匹配算法之改进:通过优化代码解决多次重复比较问题.pdf
├── [ 21M] 44|跳表:为什么Redis用跳表实现而MySQL用B+树?.mp3
├── [ 53K] 44|跳表:为什么Redis用跳表实现而MySQL用B+树?.pdf
├── [ 14M] 45|哈希表与哈希算法:哈希表适合用在什么样的情景?.mp3
├── [ 53K] 45|哈希表与哈希算法:哈希表适合用在什么样的情景?.pdf
├── [ 18M] 46|哈希表与哈希算法:字符串的MD5值是通过哈希算法得到的?.mp3
├── [2.5M] 46|哈希表与哈希算法:字符串的MD5值是通过哈希算法得到的?.pdf
├── [ 24M] 47|多路查找树:B树在数据库中的应用.mp3
├── [ 53K] 47|多路查找树:B树在数据库中的应用.pdf
├── [ 13M] 48|多路查找树:B+树的插入与删除操作详解.mp3
├── [2.7M] 48|多路查找树:B+树的插入与删除操作详解.pdf
├── [ 18M] 49|多路查找树:B树、B+树在数据库中的应用有何不同?.mp3
├── [ 53K] 49|多路查找树:B树、B+树在数据库中的应用有何不同?.pdf
├── [ 12M] 50|折半插入、2路插入、表插入:3种插入类排序类排序有哪些异同?.mp3
├── [2.7M] 50|折半插入、2路插入、表插入:3种插入类排序类排序有哪些异同?.pdf
├── [8.4M] 51|树形选择排序:按照锦标赛的思想进行排序.mp3
├── [3.6M] 51|树形选择排序:按照锦标赛的思想进行排序.pdf
├── [ 11M] 52|计数排序:不通过比较也可以进行排序.mp3
├── [1.8M] 52|计数排序:不通过比较也可以进行排序.pdf
├── [ 16M] 53|基数排序与桶排序:如何通过分配和收集进行排序?.mp3
├── [4.5M] 53|基数排序与桶排序:如何通过分配和收集进行排序?.pdf
├── [ 46M] 开篇词|学习数据结构与算法,也可以是件小事.mp3
├── [1.6M] 开篇词|学习数据结构与算法,也可以是件小事.pdf
├── [6.2M] 结束语|日拱一卒,功不唐捐.mp3
└── [932K] 结束语|日拱一卒,功不唐捐.pdf

更新日志

2023-5-10:已更新到第13节,持续更新中,后续同个网盘链接更新,请放心下载。

2023-8-26:已更新完结,百度云盘下载。

发表回复

登录... 后才能评论