这门课在补什么
多数技术人员在写业务代码时,容易忽略算法背后的思维模型。遇到性能瓶颈只能靠试,面对面试题则陷入背题的怪圈。这套课程专门针对这一能力缺口,从最底层的位运算和递归讲起,逐步深入到排序与分治的核心实现。它不追求面面俱到的理论堆砌,而是通过具体的编码实践,帮你建立起对时间复杂度和空间复杂度的直观感知。无论是为了应对蓝桥杯等编程竞赛,还是为了在日常开发中写出更高效、更优雅的代码,这都是一个极佳的查漏补缺入口。
适合谁以及学习建议
本课程适合具备基础编程语法知识(如 C++、Java 或 Python),但在算法逻辑上感到模糊的学习者。如果你是初学者,建议按顺序从第一章的位运算技巧入手,体会如何用一条语句解决奇偶位互换或判断 2 的次方数这类问题,这是培养编程直觉的关键。接着重点攻克第二章的递归与二分查找,特别是斐波那契数列的多分支递归和汉诺塔问题,理解“切蛋糕”思维比死记硬背更重要。对于准备进阶的同学,第三章的分治法、快排的各种分区优化(单向/双向/三指针)、归并排序以及堆排序是重中之重。不要跳过任何一节,因为每一节都配有对应的实战题目,如旋转数组的最小数字、寻找发帖水王等,这些是检验你是否真正理解该算法的关键。
学完能做什么
完成这套课程后,你将能够独立分析常见算法的时间与空间复杂度,熟练手写快速排序、归并排序和堆排序等核心算法,并能在实际工程中根据场景选择合适的排序策略。你将具备解决 Top K 问题、最小可用 ID 生成等经典工程问题的能力,并能运用分治思想拆解复杂问题。更重要的是,你不再畏惧递归,而是能清晰地推导出递归树的规模,从而精准评估算法性能。配套资料中的视频讲解与题目解析紧密配合,建议边看视频边在本地环境中动手实现代码,不要只看不练。通过反复推敲每一道实战题的代码细节,你将把知识转化为真正的肌肉记忆,从而在面对各类技术面试或实际开发难题时,能够从容应对,给出最优解。
课程目录
📁 算法基础课.蓝桥软件学院_gj 2.13难点突破:三种递归算法性能分析.mp4 [136.6 MB] 2.17题解实战:旋转数组的最小数字.mp4 [36.3 MB] 2.18题目讲解:在有空字符串中的有序字符串数组中查找.mp4 [39.6 MB] 3.1 分治法介绍及关键点解析.mp4 [32.5 MB] 3.4快排之双向扫描分区法.mp4 [46.5 MB] 3.6 快排在工程实践中的优化.mp4 [79.3 MB] 3.7 分治模式的完美诠释:归并排序.mp4 [74.0 MB] 3.11 趣味拓展:寻找发帖水王.mp4 [47.2 MB] 3.13 实战:最小可用id是多少(下).mp4 [52.5 MB] 3.17 将数组堆化的伪代码.mp4 [28.8 MB] 3.18 堆排序的要进一步完善.mp4 [53.1 MB] 3.19 计数排序的学习.mp4 [40.7 MB] 3.23 相关题解:排序数组中找和的因子.mp4 [13.9 MB] 2.8思维更重要:希尔排序.mp4 [57.6 MB] 2.7二分查找的递归解法.mp4 [34.6 MB] 2.4 巧用递推公式解最大公约数.mp4 [27.4 MB] 1.9 编程实践:出现k次与出现1次(下).mp4 [46.9 MB] 1.6 位运算思维:将整数的奇偶位互换.mp4 [32.5 MB] 1.5 一条语句判断整数是不是2的整数次方.mp4 [6.3 MB] 1.3 找出落单的数,这样编程就对了.mp4 [6.2 MB] 3.29 题解:判断数组的包容问题.mp4 [20.4 MB] 1.8 编程实践:出现k次与出现1次(上).mp4 [27.0 MB] 3.21 基数排序.mp4 [50.9 MB] 3.15 基础学习:树,二叉树,堆排序.mp4 [40.3 MB] 2.3 多分支递归:斐波那契序列.mp4 [55.6 MB] 2.2 切蛋糕思维:递归知识练习题.mp4 [36.9 MB] 3.12 实践:最小 可用id是多少(上).mp4 [56.5 MB] 3.3 快排之单向扫描分区法.mp4 [54.3 MB] 2.11性能对比:顺序查找与二分查找.mp4 [32.6 MB] 3.20 桶排序.mp4 [63.2 MB] 2.10常见函数的复杂度计算.mp4 [39.0 MB] 3.2 你需要掌握的快速排序算法.mp4 [34.1 MB] 2.19题目详解:找出最长连续递增子序列.mp4 [9.3 MB] 1.4 一题三解:二进制中1的个数.mp4 [33.7 MB] 2.6 递归经典问题:汉诺塔游戏.mp4 [55.4 MB] 3.25 小项堆与topK的具体代码实现.mp4 [30.5 MB] 3.26 实战:小项堆与topk的具体代码实现.mp4 [61.0 MB] 2.9利用大O表示法评估算法复杂度.mp4 [36.2 MB] 3.5快排之三指针分区法.mp4 [29.0 MB] 3.10 实战解题:哪个数字超过了一半?.mp4 [32.5 MB] 2.20实战:快速设计一个高效的求a的n次幂的算法.mp4 [50.9 MB] 2.5 别有洞天:递归形式进行插入排序.mp4 [38.2 MB] 3.16 堆的概念及堆排序思路.mp4 [36.0 MB] 3.14 讲2道关于逆序对的题目.mp4 [58.2 MB] 1.7 乘2挪整:二进制表示浮点实数.mp4 [23.7 MB] 2.1 什么是递归.mp4 [68.2 MB] 2.16题解实战:小白上楼梯.mp4 [24.9 MB] 3.8 题解:调整数组顺序-奇数在左偶数在右.mp4 [32.8 MB] 1.1 课程介绍.mp4 [42.4 MB] 2.15分析10种排序算法的稳定性.mp4 [12.9 MB] 2.12大O法应用:基础排序算法的性能对比.mp4 [37.6 MB] 3.22 总结:10种排序算法的对比分析.mp4 [139.7 MB] 2.14希尔排序的性能.mp4 [69.1 MB] 3.28 天外有天:特殊排序.mp4 [34.5 MB] 3.24 需排序的子数组长度是多少.mp4 [78.0 MB] 3.27 用计数排序解决员工年龄问题.mp4 [8.2 MB] 1.2 找数组中唯一成对的数.mp4 [69.5 MB] 3.9 最快效率求出乱序数组中第k小的数.mp4 [94.1 MB] 📁 程序猿的内功修炼,学好算法与数据结构_gj 📁 08 8-2.mp4 [17.7 MB] 8-1.mp4 [65.9 MB] 8-4.mp4 [25.4 MB] 8-7.mp4 [8.5 MB] 8-3.mp4 [53.5 MB] 8-6.mp4 [46.0 MB] 8-5.mp4 [58.9 MB] 📁 06 6-4.mp4 [29.4 MB] 6-3.mp4 [39.0 MB] 6-2.mp4 [37.9 MB] 6-6.mp4 [36.7 MB] 6-1卡.mp4 [26.6 MB] 6-5.mp4 [23.6 MB] 📁 05 5-11.mp4 [16.9 MB] 5-8.mp4 [62.3 MB] 5-5.mp4 [49.2 MB] 5-6.mp4 [24.2 MB] 5-9.mp4 [22.9 MB] 5-2.mp4 [31.1 MB] 5-7.mp4 [57.1 MB] 5-10.mp4 [46.3 MB] 5-3.mp4 [29.8 MB] 5-4.mp4 [71.6 MB] 5-1.mp4 [40.1 MB] 📁 04 04-10.mp4 [24.4 MB] 04-9.mp4 [50.6 MB] 04-6.mp4 [36.8 MB] 04-1-5.mp4 [218.2 MB] 04-8.mp4 [51.0 MB] 04-7.mp4 [27.4 MB] 📁 03 3-1-5.mp4 [221.5 MB] 3-6-9.mp4 [165.7 MB] 📁 10 10-1.mp4 [28.3 MB] 📁 01 1-2.mp4 [217.8 MB] 📁 09 9-2.mp4 [18.4 MB] 9-5.mp4 [46.7 MB] 9-4.mp4 [18.0 MB] 9-6.mp4 [19.9 MB] 9-3.mp4 [53.0 MB] 9-1.mp4 [13.6 MB] 📁 07 7-6-8.mp4 [76.3 MB] 7-4.mp4 [33.4 MB] 7-3.mp4 [47.7 MB] 7-5.mp4 [47.7 MB] 7-2.mp4 [63.5 MB] 7-1.mp4 [49.3 MB] 📁 02 2-1-3.mp4 [135.8 MB] 2-4-6.mp4 [161.4 MB] 算法和数据结构--目录.txt [1.7 KB]






