
存储方式:百度网盘
课程介绍
提到数据结构与算法,“吃透”和“内功”这两个词像两座大山一样压在身上,让人喘不过气,以至于出现了很多所谓的坚持和抱怨。但是,作为一门计算机专业的基础课程,它也的确是我们学习之路上绕不开的伙伴。
要想进入大厂,它是许多求职者的敲门砖;想要深入了解热门技术,比如微服务、大数据、云计算等等,它也是必备的基础知识。
然而我们发现,涉及数据结构和算法知识方面的资料多数比较晦涩,不是数学知识过多,就是学术性太强。有些资料知识覆盖面太过宽泛甚至表达不清,导致学习者一头雾水,所提供的实现代码也往往是伪码或代码片段,很难让人有舒适的学习体验。
为此,我们邀请到了《C++ 新经典》系列作者,资深 C++ 讲师王健伟,帮你抛下身上对于数据结构与算法的沉重包袱,回归最基础的概念与代码,夯实基础、打开思路,潜移默化地培养数据结构与算法的敏感度,更为之后的每一次实战打下坚实的基础。
章节
开篇词|学习数据结构与算法,也可以是件小事 01|编程环境:工欲善其事,必先利其器 02|顺序表(上):如何实现快速地随机访问? 03|顺序表(下):常用操作合集与复杂度分析 04|单链表:如何通过指针提升插入、删除数据的速度? 05|双链表:搜索链表中节点的速度还可以更快吗? 06|循环链表:如何更方便地寻找数据? 07|静态链表:用一维数组表达的链表 08|栈:如何实现数据的后进先出? 09|队列:如何实现数据的先进先出? 10|二叉树:二叉树到底长什么样子? 11|二叉树:深度优先和广度优先遍历是什么? 12|二叉树:如何存储二叉树? 13|线索二叉树:如何线索化二叉树以提升访问速度? 14|二叉查找树(BST):查找速度你最行 15|平衡二叉树(AVL):平衡如此重要,怎么做到的? 16|平衡二叉树(AVL):节点删除后的平衡性调整 17|红黑(R-B)树:和平衡二叉树有什么不同? 18|红黑(R-B)树:节点插入后的平衡性调整 19|红黑(R-B)树:节点删除后的平衡性调整(一) 20|红黑(R-B)树:节点删除后的平衡性调整(二) 21|哈夫曼(Huffman)树:将数据压缩后再传输更省带宽 22|树、森林、二叉树:相互之间的转换 23|图:如何用图表达错综复杂的数据? 24|图的存储(上):邻接矩阵、邻接表和十字链表有什么不同? 25|图的存储(下):为什么我们还需要邻接多重表和边集数组? 26|图:深度优先遍历(DFS)与广度优先遍历(BFS) 27|最小生成树:如何用普里姆(Prim)算法解决修路费用最少的问题? 28|最小生成树:克鲁斯卡尔(Kruskal)算法与修路费用最少的问题? 29|最短路径:迪杰斯特拉(Dijkstra)算法与选择最节省时间的行走路线问题 30|最短路径:弗洛伊德(Floyd)算法与乘车费用最少的问题 31|图的应用:如何通过拓扑排序找到合理的先后顺序? 32|图的应用:如何通过关键路径估算完成工程需要的最短时间? 33|直接插入排序:为什么数据越有序,排序速度越快? 34|希尔排序:通过部分有序逼近全局有序 35|冒泡排序:大数下沉,小数上浮 36|快速排序:如何通过基准元素改进冒泡排序? 37|简单选择排序与堆排序:多趟排序与利用有序完全二叉树进行排序 38|归并排序:将多个有序序列按其中的元素值大小两两合并 39|串的顺序和链式存储结构:定长数组与动态数组 40|串的朴素模式匹配算法:暴力但容易理解 41|串的KMP模式匹配算法观察:理解困难 42|串的KMP模式匹配算法之实现与性能分析:代码实现简单 43|串的KMP模式匹配算法之改进:通过优化代码解决多次重复比较问题 44|跳表:为什么Redis用跳表实现而MySQL用B+树? 45|哈希表与哈希算法:哈希表适合用在什么样的情景? 46|哈希表与哈希算法:字符串的MD5值是通过哈希算法得到的? 47|多路查找树:B树在数据库中的应用 48|多路查找树:B+树的插入与删除操作详解 49|多路查找树:B树、B+树在数据库中的应用有何不同? 50|折半插入、2路插入、表插入:3种插入类排序类排序有哪些异同? 51|树形选择排序:按照锦标赛的思想进行排序 52|计数排序:不通过比较也可以进行排序 53|基数排序与桶排序:如何通过分配和收集进行排序? 结束语|日拱一卒,功不唐捐
阅读全文
常见问题
是否支持单个资源购买?
答:点击“立即购买”,即是单个资源购买。
开通VIP会员后,是否支持全部资源下载,如何开通VIP会员?
答:点击“升级VIP”按钮,支付完成后即可开通VIP会员,VIP会员支持全站课程免费下载。
链接失效怎么办?
答:联系客服QQ:904745566,获取最新下载链接。
原文链接:http://xpozhan.com/code/cpp/1099/,转载请注明出处。


评论0