课程介绍
这套课程名为《深入浅出,轻松驾驭C++数据结构》,旨在帮助学习者轻松掌握C++数据结构。通过本课程的学习,您将深入了解C++编程语言中的数据结构和算法,掌握其核心概念和应用场景。
课程主要包括以下内容:
1. C++语言回顾:通过简洁易懂的讲解,帮助您回顾和巩固C++编程语言的基础知识,为后续学习打下坚实基础。
2. 数据结构基础:介绍各种常用的数据结构,如数组、链表、栈、队列、树等,详细讲解它们的定义、特点以及操作方法,培养您对数据结构的理解和运用能力。
3. 算法分析和设计:探讨常见的算法分析技术,如时间复杂度和空间复杂度,帮助您评估算法的效率并作出合理选择。此外,还将介绍算法设计的常用方法,如递归、分治法、贪心算法和动态规划等。
4. 高级数据结构:深入讨论高级数据结构,如图、堆、散列表等,讲解它们的原理、应用场景以及相关算法,拓展您的数据结构知识广度和深度。
5. 实际项目练习:通过实际项目案例,帮助您将所学知识应用到实际编程中,提高解决实际问题的能力和经验。
文件目录
开篇词|学习数据结构与算法,也可以是件小事.pdf
开篇词|学习数据结构与算法,也可以是件小事.md
结束语|日拱一卒,功不唐捐.pdf
结束语|日拱一卒,功不唐捐.md
01|编程环境:工欲善其事,必先利其器.mp3
01|编程环境:工欲善其事,必先利其器.md
01|编程环境:工欲善其事,必先利其器.pdf
结束语|日拱一卒,功不唐捐.mp3
02|顺序表(上):如何实现快速地随机访问?.pdf
02|顺序表(上):如何实现快速地随机访问?.mp3
02|顺序表(上):如何实现快速地随机访问?.md
03|顺序表(下):常用操作合集与复杂度分析.pdf
03|顺序表(下):常用操作合集与复杂度分析.mp3
03|顺序表(下):常用操作合集与复杂度分析.md
开篇词|学习数据结构与算法,也可以是件小事.mp3
04|单链表:如何通过指针提升插入、删除数据的速度?.mp3
04|单链表:如何通过指针提升插入、删除数据的速度?.md
04|单链表:如何通过指针提升插入、删除数据的速度?.pdf
05|双链表:搜索链表中节点的速度还可以更快吗?.mp3
05|双链表:搜索链表中节点的速度还可以更快吗?.pdf
05|双链表:搜索链表中节点的速度还可以更快吗?.md
06|循环链表:如何更方便地寻找数据?.mp3
06|循环链表:如何更方便地寻找数据?.pdf
06|循环链表:如何更方便地寻找数据?.md
07|静态链表:用一维数组表达的链表.md
07|静态链表:用一维数组表达的链表.pdf
07|静态链表:用一维数组表达的链表.mp3
08|栈:如何实现数据的后进先出?.mp3
08|栈:如何实现数据的后进先出?.md
08|栈:如何实现数据的后进先出?.pdf
09|队列:如何实现数据的先进先出?.mp3
09|队列:如何实现数据的先进先出?.pdf
09|队列:如何实现数据的先进先出?.md
10|二叉树:二叉树到底长什么样子?.md
10|二叉树:二叉树到底长什么样子?.pdf
10|二叉树:二叉树到底长什么样子?.mp3
11|二叉树:深度优先和广度优先遍历是什么?.md
11|二叉树:深度优先和广度优先遍历是什么?.mp3
11|二叉树:深度优先和广度优先遍历是什么?.pdf
12|二叉树:如何存储二叉树?.mp3
12|二叉树:如何存储二叉树?.pdf
12|二叉树:如何存储二叉树?.md
13|线索二叉树:如何线索化二叉树以提升访问速度?.md
13|线索二叉树:如何线索化二叉树以提升访问速度?.mp3
13|线索二叉树:如何线索化二叉树以提升访问速度?.pdf
14|二叉查找树(BST):查找速度你最行.md
14|二叉查找树(BST):查找速度你最行.mp3
14|二叉查找树(BST):查找速度你最行.pdf
15|平衡二叉树(AVL):平衡如此重要,怎么做到的?.md
15|平衡二叉树(AVL):平衡如此重要,怎么做到的?.mp3
15|平衡二叉树(AVL):平衡如此重要,怎么做到的?.pdf
16|平衡二叉树(AVL):节点删除后的平衡性调整.pdf
16|平衡二叉树(AVL):节点删除后的平衡性调整.md
16|平衡二叉树(AVL):节点删除后的平衡性调整.mp3
17|红黑(R-B)树:和平衡二叉树有什么不同?.mp3
17|红黑(R-B)树:和平衡二叉树有什么不同?.md
17|红黑(R-B)树:和平衡二叉树有什么不同?.pdf
18|红黑(R-B)树:节点插入后的平衡性调整.md
18|红黑(R-B)树:节点插入后的平衡性调整.mp3
18|红黑(R-B)树:节点插入后的平衡性调整.pdf
19|红黑(R-B)树:节点删除后的平衡性调整(一).pdf
19|红黑(R-B)树:节点删除后的平衡性调整(一).md
19|红黑(R-B)树:节点删除后的平衡性调整(一).mp3
20|红黑(R-B)树:节点删除后的平衡性调整(二).pdf
20|红黑(R-B)树:节点删除后的平衡性调整(二).mp3
20|红黑(R-B)树:节点删除后的平衡性调整(二).md
21|哈夫曼(Huffman)树:将数据压缩后再传输更省带宽.md
21|哈夫曼(Huffman)树:将数据压缩后再传输更省带宽.pdf
21|哈夫曼(Huffman)树:将数据压缩后再传输更省带宽.mp3
22|树、森林、二叉树:相互之间的转换.pdf
22|树、森林、二叉树:相互之间的转换.mp3
22|树、森林、二叉树:相互之间的转换.md
23|图:如何用图表达错综复杂的数据?.pdf
23|图:如何用图表达错综复杂的数据?.mp3
23|图:如何用图表达错综复杂的数据?.md
24|图的存储(上):邻接矩阵、邻接表和十字链表有什么不同?.pdf
24|图的存储(上):邻接矩阵、邻接表和十字链表有什么不同?.mp3
24|图的存储(上):邻接矩阵、邻接表和十字链表有什么不同?.md
25|图的存储(下):为什么我们还需要邻接多重表和边集数组?.pdf
25|图的存储(下):为什么我们还需要邻接多重表和边集数组?.mp3
25|图的存储(下):为什么我们还需要邻接多重表和边集数组?.md
26|图:深度优先遍历(DFS)与广度优先遍历(BFS).md
26|图:深度优先遍历(DFS)与广度优先遍历(BFS).mp3
26|图:深度优先遍历(DFS)与广度优先遍历(BFS).pdf
27|最小生成树:如何用普里姆(Prim)算法解决修路费用最少的问题?.md
27|最小生成树:如何用普里姆(Prim)算法解决修路费用最少的问题?.pdf
27|最小生成树:如何用普里姆(Prim)算法解决修路费用最少的问题?.mp3
28|最小生成树:克鲁斯卡尔(Kruskal)算法与修路费用最少的问题?.mp3
28|最小生成树:克鲁斯卡尔(Kruskal)算法与修路费用最少的问题?.pdf
28|最小生成树:克鲁斯卡尔(Kruskal)算法与修路费用最少的问题?.md
29|最短路径:迪杰斯特拉(Dijkstra)算法与选择最节省时间的行走路线问题.pdf
29|最短路径:迪杰斯特拉(Dijkstra)算法与选择最节省时间的行走路线问题.md
29|最短路径:迪杰斯特拉(Dijkstra)算法与选择最节省时间的行走路线问题.mp3
30|最短路径:弗洛伊德(Floyd)算法与乘车费用最少的问题.mp3
30|最短路径:弗洛伊德(Floyd)算法与乘车费用最少的问题.pdf
30|最短路径:弗洛伊德(Floyd)算法与乘车费用最少的问题.md
31|图的应用:如何通过拓扑排序找到合理的先后顺序?.mp3
31|图的应用:如何通过拓扑排序找到合理的先后顺序?.md
31|图的应用:如何通过拓扑排序找到合理的先后顺序?.pdf
32|图的应用:如何通过关键路径估算完成工程需要的最短时间?.md
32|图的应用:如何通过关键路径估算完成工程需要的最短时间?.mp3
32|图的应用:如何通过关键路径估算完成工程需要的最短时间?.pdf
33|直接插入排序:为什么数据越有序,排序速度越快?.md
33|直接插入排序:为什么数据越有序,排序速度越快?.pdf
33|直接插入排序:为什么数据越有序,排序速度越快?.mp3
34|希尔排序:通过部分有序逼近全局有序.mp3
34|希尔排序:通过部分有序逼近全局有序.pdf
34|希尔排序:通过部分有序逼近全局有序.md
35|冒泡排序:大数下沉,小数上浮.mp3
35|冒泡排序:大数下沉,小数上浮.pdf
35|冒泡排序:大数下沉,小数上浮.md
36|快速排序:如何通过基准元素改进冒泡排序?.mp3
36|快速排序:如何通过基准元素改进冒泡排序?.md
36|快速排序:如何通过基准元素改进冒泡排序?.pdf
37|简单选择排序与堆排序:多趟排序与利用有序完全二叉树进行排序.mp3
37|简单选择排序与堆排序:多趟排序与利用有序完全二叉树进行排序.pdf
37|简单选择排序与堆排序:多趟排序与利用有序完全二叉树进行排序.md
38|归并排序:将多个有序序列按其中的元素值大小两两合并.md
38|归并排序:将多个有序序列按其中的元素值大小两两合并.pdf
38|归并排序:将多个有序序列按其中的元素值大小两两合并.mp3
39|串的顺序和链式存储结构:定长数组与动态数组.pdf
39|串的顺序和链式存储结构:定长数组与动态数组.mp3
39|串的顺序和链式存储结构:定长数组与动态数组.md
40|串的朴素模式匹配算法:暴力但容易理解.mp3
40|串的朴素模式匹配算法:暴力但容易理解.md
40|串的朴素模式匹配算法:暴力但容易理解.pdf
41|串的KMP模式匹配算法观察:理解困难.mp3
41|串的KMP模式匹配算法观察:理解困难.md
41|串的KMP模式匹配算法观察:理解困难.pdf
42|串的KMP模式匹配算法之实现与性能分析:代码实现简单.mp3
42|串的KMP模式匹配算法之实现与性能分析:代码实现简单.pdf
42|串的KMP模式匹配算法之实现与性能分析:代码实现简单.md
43|串的KMP模式匹配算法之改进:通过优化代码解决多次重复比较问题.md
43|串的KMP模式匹配算法之改进:通过优化代码解决多次重复比较问题.mp3
43|串的KMP模式匹配算法之改进:通过优化代码解决多次重复比较问题.pdf
44|跳表:为什么Redis用跳表实现而MySQL用B+树?.mp3
44|跳表:为什么Redis用跳表实现而MySQL用B+树?.pdf
44|跳表:为什么Redis用跳表实现而MySQL用B+树?.md
45|哈希表与哈希算法:哈希表适合用在什么样的情景?.pdf
45|哈希表与哈希算法:哈希表适合用在什么样的情景?.md
45|哈希表与哈希算法:哈希表适合用在什么样的情景?.mp3
46|哈希表与哈希算法:字符串的MD5值是通过哈希算法得到的?.md
46|哈希表与哈希算法:字符串的MD5值是通过哈希算法得到的?.pdf
46|哈希表与哈希算法:字符串的MD5值是通过哈希算法得到的?.mp3
47|多路查找树:B树在数据库中的应用.mp3
47|多路查找树:B树在数据库中的应用.pdf
47|多路查找树:B树在数据库中的应用.md
48|多路查找树:B+树的插入与删除操作详解.pdf
48|多路查找树:B+树的插入与删除操作详解.mp3
48|多路查找树:B+树的插入与删除操作详解.md
49|多路查找树:B树、B+树在数据库中的应用有何不同?.md
49|多路查找树:B树、B+树在数据库中的应用有何不同?.pdf
49|多路查找树:B树、B+树在数据库中的应用有何不同?.mp3
50|折半插入、2路插入、表插入:3种插入类排序类排序有哪些异同?.mp3
50|折半插入、2路插入、表插入:3种插入类排序类排序有哪些异同?.md
50|折半插入、2路插入、表插入:3种插入类排序类排序有哪些异同?.pdf
51|树形选择排序:按照锦标赛的思想进行排序.mp3
51|树形选择排序:按照锦标赛的思想进行排序.pdf
51|树形选择排序:按照锦标赛的思想进行排序.md
52|计数排序:不通过比较也可以进行排序.pdf
52|计数排序:不通过比较也可以进行排序.md
52|计数排序:不通过比较也可以进行排序.mp3
53|基数排序与桶排序:如何通过分配和收集进行排序?.md
53|基数排序与桶排序:如何通过分配和收集进行排序?.mp3
53|基数排序与桶排序:如何通过分配和收集进行排序?.pdf
声明:本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理,邮箱:502212423@qq.com。