极客时间 王健伟 快速上手C++数据结构与算法(48讲)
资源简介
提到数据结构与算法,“吃透”和“内功”这两个词像两座大山一样压在身上,让人喘不过气,以至于出现了很多所谓的坚持和抱怨。但是,作为一门计算机专业的基础课程,它也的确是我们学习之路上绕不开的伙伴。
要想进入大厂,它是许多求职者的敲门砖;想要深入了解热门技术,比如微服务、大数据、云计算等等,它也是必备的基础知识。
然而我们发现,涉及数据结构和算法知识方面的资料多数比较晦涩,不是数学知识过多,就是学术性太强。有些资料知识覆盖面太过宽泛甚至表达不清,导致学习者一头雾水,所提供的实现代码也往往是伪码或代码片段,很难让人有舒适的学习体验。
为此,我们邀请到了《C++ 新经典》系列作者,资深 C++ 讲师王健伟,帮你抛下身上对于数据结构与算法的沉重包袱,回归最基础的概念与代码,夯实基础、打开思路,潜移默化地培养数据结构与算法的敏感度,更为之后的每一次实战打下坚实的基础。
资源目录
——/计算机教程/02极客时间/001-极客时间合集(更新至20230603)-/282-100524201-专栏课-王健伟-快速上手C++数据结构与算法(48讲)/
images
628080
629677
630683
631382
631872
632714
633391
634220
635174
636039
637022
637970
638589
638954
639984
641043
641400
642285
642978
643695
644423
644977
645613
646461
646743
647042
647772
648413
649077
649887
650429
651697
652863
653669
653936
653954
654671
655458
656154
656843
658285
659200
660027
660451
661510
662218
662691
663583
664249
01编程环境:工欲善其事,必先利其器.md 16.64kb
01编程环境:工欲善其事,必先利其器.mp3 17.81M
01编程环境:工欲善其事,必先利其器.pdf 1.75M
02顺序表(上):如何实现快速地随机访问?.md 15.66kb
02顺序表(上):如何实现快速地随机访问?.mp3 14.20M
02顺序表(上):如何实现快速地随机访问?.pdf 2.64M
03顺序表(下):常用操作合集与复杂度分析.md 14.34kb
03顺序表(下):常用操作合集与复杂度分析.mp3 11.40M
03顺序表(下):常用操作合集与复杂度分析.pdf 2.17M
04单链表:如何通过指针提升插入、删除数据的速度?.md 22.57kb
04单链表:如何通过指针提升插入、删除数据的速度?.mp3 16.15M
04单链表:如何通过指针提升插入、删除数据的速度?.pdf 2.66M
05双链表:搜索链表中节点的速度还可以更快吗?.md 11.95kb
05双链表:搜索链表中节点的速度还可以更快吗?.mp3 8.89M
05双链表:搜索链表中节点的速度还可以更快吗?.pdf 920.31kb
06循环链表:如何更方便地寻找数据?.md 11.19kb
06循环链表:如何更方便地寻找数据?.mp3 10.43M
06循环链表:如何更方便地寻找数据?.pdf 1.74M
07静态链表:用一维数组表达的链表.md 16.63kb
07静态链表:用一维数组表达的链表.mp3 8.76M
07静态链表:用一维数组表达的链表.pdf 2.33M
08栈:如何实现数据的后进先出?.md 22.56kb
08栈:如何实现数据的后进先出?.mp3 13.17M
08栈:如何实现数据的后进先出?.pdf 1.97M
09队列:如何实现数据的先进先出?.md 23.85kb
09队列:如何实现数据的先进先出?.mp3 14.05M
09队列:如何实现数据的先进先出?.pdf 2.04M
10二叉树:二叉树到底长什么样子?.md 17.28kb
10二叉树:二叉树到底长什么样子?.mp3 22.53M
10二叉树:二叉树到底长什么样子?.pdf 4.23M
11二叉树:深度优先和广度优先遍历是什么?.md 18.55kb
11二叉树:深度优先和广度优先遍历是什么?.mp3 17.50M
11二叉树:深度优先和广度优先遍历是什么?.pdf 9.51M
12二叉树:如何存储二叉树?.md 29.63kb
12二叉树:如何存储二叉树?.mp3 12.45M
12二叉树:如何存储二叉树?.pdf 4.76M
13线索二叉树:如何线索化二叉树以提升访问速度?.md 24.90kb
13线索二叉树:如何线索化二叉树以提升访问速度?.mp3 14.14M
13线索二叉树:如何线索化二叉树以提升访问速度?.pdf 2.62M
14二叉查找树(BST):查找速度你最行.md 25.43kb
14二叉查找树(BST):查找速度你最行.mp3 16.29M
14二叉查找树(BST):查找速度你最行.pdf 3.74M
15平衡二叉树(AVL):平衡如此重要,怎么做到的?.md 24.71kb
15平衡二叉树(AVL):平衡如此重要,怎么做到的?.mp3 24.53M
15平衡二叉树(AVL):平衡如此重要,怎么做到的?.pdf 5.19M
16平衡二叉树(AVL):节点删除后的平衡性调整.md 15.50kb
16平衡二叉树(AVL):节点删除后的平衡性调整.mp3 25.30M
16平衡二叉树(AVL):节点删除后的平衡性调整.pdf 3.05M
17红黑(R-B)树:和平衡二叉树有什么不同?.md 11.29kb
17红黑(R-B)树:和平衡二叉树有什么不同?.mp3 12.91M
17红黑(R-B)树:和平衡二叉树有什么不同?.pdf 2.14M
18红黑(R-B)树:节点插入后的平衡性调整.md 14.09kb
18红黑(R-B)树:节点插入后的平衡性调整.mp3 13.82M
18红黑(R-B)树:节点插入后的平衡性调整.pdf 7.69M
19红黑(R-B)树:节点删除后的平衡性调整(一).md 15.76kb
19红黑(R-B)树:节点删除后的平衡性调整(一).mp3 17.80M
19红黑(R-B)树:节点删除后的平衡性调整(一).pdf 9.58M
20红黑(R-B)树:节点删除后的平衡性调整(二).md 15.63kb
20红黑(R-B)树:节点删除后的平衡性调整(二).mp3 16.81M
20红黑(R-B)树:节点删除后的平衡性调整(二).pdf 14.20M
21哈夫曼(Huffman)树:将数据压缩后再传输更省带宽.md 21.40kb
21哈夫曼(Huffman)树:将数据压缩后再传输更省带宽.mp3 20.29M
21哈夫曼(Huffman)树:将数据压缩后再传输更省带宽.pdf 3.84M
22树、森林、二叉树:相互之间的转换.md 23.09kb
22树、森林、二叉树:相互之间的转换.mp3 21.94M
22树、森林、二叉树:相互之间的转换.pdf 7.37M
23图:如何用图表达错综复杂的数据?.md 14.96kb
23图:如何用图表达错综复杂的数据?.mp3 17.99M
23图:如何用图表达错综复杂的数据?.pdf 6.83M
24图的存储(上):邻接矩阵、邻接表和十字链表有什么不同?.md 17.60kb
24图的存储(上):邻接矩阵、邻接表和十字链表有什么不同?.mp3 17.90M
24图的存储(上):邻接矩阵、邻接表和十字链表有什么不同?.pdf 3.33M
25图的存储(下):为什么我们还需要邻接多重表和边集数组?.md 12.23kb
25图的存储(下):为什么我们还需要邻接多重表和边集数组?.mp3 13.53M
25图的存储(下):为什么我们还需要邻接多重表和边集数组?.pdf 3.82M
26图:深度优先遍历(DFS)与广度优先遍历(BFS).md 18.04kb
26图:深度优先遍历(DFS)与广度优先遍历(BFS).mp3 17.30M
26图:深度优先遍历(DFS)与广度优先遍历(BFS).pdf 1.82M
27最小生成树:如何用普里姆(Prim)算法解决修路费用最少的问题?.md 21.51kb
27最小生成树:如何用普里姆(Prim)算法解决修路费用最少的问题?.mp3 15.23M
27最小生成树:如何用普里姆(Prim)算法解决修路费用最少的问题?.pdf 2.32M
28最小生成树:克鲁斯卡尔(Kruskal)算法与修路费用最少的问题?.md 16.98kb
28最小生成树:克鲁斯卡尔(Kruskal)算法与修路费用最少的问题?.mp3 11.58M
28最小生成树:克鲁斯卡尔(Kruskal)算法与修路费用最少的问题?.pdf 2.28M
29最短路径:迪杰斯特拉(Dijkstra)算法与选择最节省时间的行走路线问题.md 16.60kb
29最短路径:迪杰斯特拉(Dijkstra)算法与选择最节省时间的行走路线问题.mp3 20.33M
29最短路径:迪杰斯特拉(Dijkstra)算法与选择最节省时间的行走路线问题.pdf 2.95M
30最短路径:弗洛伊德(Floyd)算法与乘车费用最少的问题.md 11.49kb
30最短路径:弗洛伊德(Floyd)算法与乘车费用最少的问题.mp3 12.12M
30最短路径:弗洛伊德(Floyd)算法与乘车费用最少的问题.pdf 2.31M
31图的应用:如何通过拓扑排序找到合理的先后顺序?.md 11.80kb
31图的应用:如何通过拓扑排序找到合理的先后顺序?.mp3 10.62M
31图的应用:如何通过拓扑排序找到合理的先后顺序?.pdf 1.50M
32图的应用:如何通过关键路径估算完成工程需要的最短时间?.md 25.15kb
32图的应用:如何通过关键路径估算完成工程需要的最短时间?.mp3 20.90M
32图的应用:如何通过关键路径估算完成工程需要的最短时间?.pdf 4.08M
33直接插入排序:为什么数据越有序,排序速度越快?.md 13.39kb
33直接插入排序:为什么数据越有序,排序速度越快?.mp3 15.41M
33直接插入排序:为什么数据越有序,排序速度越快?.pdf 1.63M
34希尔排序:通过部分有序逼近全局有序.md 11.27kb
34希尔排序:通过部分有序逼近全局有序.mp3 10.90M
34希尔排序:通过部分有序逼近全局有序.pdf 2.10M
35冒泡排序:大数下沉,小数上浮.md 8.14kb
35冒泡排序:大数下沉,小数上浮.mp3 6.65M
35冒泡排序:大数下沉,小数上浮.pdf 2.39M
36快速排序:如何通过基准元素改进冒泡排序?.md 15.39kb
36快速排序:如何通过基准元素改进冒泡排序?.mp3 15.44M
36快速排序:如何通过基准元素改进冒泡排序?.pdf 1.50M
37简单选择排序与堆排序:多趟排序与利用有序完全二叉树进行排序.md 18.57kb
37简单选择排序与堆排序:多趟排序与利用有序完全二叉树进行排序.mp3 16.74M
37简单选择排序与堆排序:多趟排序与利用有序完全二叉树进行排序.pdf 3.15M
38归并排序:将多个有序序列按其中的元素值大小两两合并.md 14.67kb
38归并排序:将多个有序序列按其中的元素值大小两两合并.mp3 11.28M
38归并排序:将多个有序序列按其中的元素值大小两两合并.pdf 5.04M
39串的顺序和链式存储结构:定长数组与动态数组.md 20.16kb
39串的顺序和链式存储结构:定长数组与动态数组.mp3 8.54M
39串的顺序和链式存储结构:定长数组与动态数组.pdf 3.41M
40串的朴素模式匹配算法:暴力但容易理解.md 10.37kb
40串的朴素模式匹配算法:暴力但容易理解.mp3 24.48M
40串的朴素模式匹配算法:暴力但容易理解.pdf 1.40M
41串的KMP模式匹配算法观察:理解困难.md 13.99kb
41串的KMP模式匹配算法观察:理解困难.mp3 14.75M
41串的KMP模式匹配算法观察:理解困难.pdf 4.24M
42串的KMP模式匹配算法之实现与性能分析:代码实现简单.md 14.97kb
42串的KMP模式匹配算法之实现与性能分析:代码实现简单.mp3 11.16M
42串的KMP模式匹配算法之实现与性能分析:代码实现简单.pdf 2.45M
43串的KMP模式匹配算法之改进:通过优化代码解决多次重复比较问题.md 19.50kb
43串的KMP模式匹配算法之改进:通过优化代码解决多次重复比较问题.mp3 18.36M
43串的KMP模式匹配算法之改进:通过优化代码解决多次重复比较问题.pdf 3.79M
44跳表:为什么Redis用跳表实现而MySQL用B+树?.md 26.38kb
44跳表:为什么Redis用跳表实现而MySQL用B+树?.mp3 20.52M
44跳表:为什么Redis用跳表实现而MySQL用B+树?.pdf 2.92M
45哈希表与哈希算法:哈希表适合用在什么样的情景?.md 12.20kb
45哈希表与哈希算法:哈希表适合用在什么样的情景?.mp3 14.06M
45哈希表与哈希算法:哈希表适合用在什么样的情景?.pdf 2.52M
46哈希表与哈希算法:字符串的MD5值是通过哈希算法得到的?.md 17.14kb
46哈希表与哈希算法:字符串的MD5值是通过哈希算法得到的?.mp3 17.50M
46哈希表与哈希算法:字符串的MD5值是通过哈希算法得到的?.pdf 2.49M
47多路查找树:B树在数据库中的应用.md 25.96kb
47多路查找树:B树在数据库中的应用.mp3 24.37M
47多路查找树:B树在数据库中的应用.pdf 2.15M
48多路查找树:B+树的插入与删除操作详解.md 12.47kb
48多路查找树:B+树的插入与删除操作详解.mp3 13.06M
48多路查找树:B+树的插入与删除操作详解.pdf 2.57M
开篇词学习数据结构与算法,也可以是件小事.md 10.61kb
开篇词学习数据结构与算法,也可以是件小事.mp3 11.38M
开篇词学习数据结构与算法,也可以是件小事.pdf 2.37M