这门课解决什么工作场景
很多写业务代码的朋友,平时用现成框架和标准库用得很顺,但一遇到性能瓶颈、底层改造或大厂的技术面,就会暴露短板。这门课聚焦的正是这块短板:用 C++ 把数据结构与算法从头到尾啃下来。它解决的是两类实际场景:一是你需要看懂或重写底层代码,比如自己实现一个高效的缓存结构、优化海量数据的查询逻辑;二是面对大厂面试时,能手写平衡二叉树的旋转、讲清归并排序和基数排序的边界条件。课程内容围绕数组、链表、树、排序和查找这些核心结构展开,没有发散到无关领域,目标很明确。
适合什么基础与建议先看哪几块
这套资料不适合零基础。你需要对 C++ 的指针、引用、类和模板有基本概念,至少能独立写出简单的链表节点操作。如果你连基本语法都还在查,建议先补基础再看。对于有语言基础但算法薄弱的转行者或想冲技术岗的上班族,建议优先看平衡二叉树和排序算法这两块。资料里对导致不平衡的四种情况、旋转操作、插入逻辑有拆解,排序部分覆盖了选择、插入、希尔、归并和基数等常见类型,还包含时间比较。先从数组链表和二分查找入手,把单链表反转、二叉树遍历等基本操作写熟,再去看树的旋转和复杂排序,会顺很多。不要跳过基数排序和箱排序这类容易被忽略的内容,面试偶尔会问原理。
学完能独立做什么与资料怎么配合练习
学完后,你应该能独立用 C++ 从零实现常用数据结构,而不是只会调库。比如给定一个需求,你能判断该用链表还是数组,自己写出平衡二叉树的插入和旋转代码,分析排序算法的时间复杂度并选型。配合练习的方法是:看视频时同步手敲代码,不要只看思路。资料里的排序算法索引和时间比较部分,可以当成自测清单,看完一种排序就默写实现,再对比时间数据。树的旋转部分,建议在纸上画图,标清每个节点的指针变化,再转为代码。遇到卡壳就反复看对应片段,重点是理解指针指向如何调整,而不是背代码模板。这样练下来,应对日常底层开发或技术面试的手撕代码环节,会踏实得多。
01 精英特战班
课程目录
* 01 精英特战班/
* 01 数组和链表/
* 01 数组和链表
* 02 平衡二叉树原理/
* 01 平衡二叉树原理
* 03 导致不平衡的四种情况/
* 01 导致不平衡的四种情况
* 04 旋转/
* 01 旋转
* 05 平衡二叉树的插入/
* 01 平衡二叉树的插入
* 06 平衡二叉树的旋转/
* 01 平衡二叉树的旋转
* 07 排序算法索引/
* 01 排序算法索引
* 08 选择排序/
* 01 选择排序
* 09 插入排序/
* 01 插入排序
* 10 希尔排序/
* 01 希尔排序
* 11 排序算法时间比较/
* 01 排序算法时间比较
* 12 基数排序/
* 01 基数排序
* 13 箱排序/
* 01 箱排序
* 14 回顾/
* 01 回顾
* 15 合并排序/
* 01 合并排序
* 16 归并排序/
* 01 归并排序
* 17 二分查找/
* 01 二分查找
* 18 回顾/
* 01 回顾
* 19 深度寻路算法/
* 01 深度寻路算法
* 20 广度寻路算法/
* 01 广度寻路算法
* 21 深度广度区别比较/
* 01 深度广度区别比较
* 22 A星寻路算法/
* 01 A星寻路算法
* 23 寻路算法回顾/
* 01 寻路算法回顾
* 24 图结构点和边/
* 01 图结构点和边
* 25 临接矩阵/
* 01 临接矩阵
* 26 临接表/
* 01 临接表
* 27 有向无向图/
* 01 有向无向图
* 28 网图/
* 01 网图
* 29 定义图类创建图对象/
* 01 定义图类创建图对象
* 30 临接矩阵实现图/
* 01 临接矩阵实现图
* 31 BFS和DFS的区别/
* 01 BFS和DFS的区别
* 32 DFS和BFS/
* 01 DFS和BFS
* 33 23树原理/
* 01 23树原理
* 34 23树的插入/
* 01 23树的插入
* 35 回顾/
* 01 回顾
* 36 B树/
* 01 B树
* 37 B+树/
* 01 B+树
* 38 RB树/
* 01 RB树
* 39 动态规划/
* 01 动态规划
* 40 动态规划 (1)/
* 01 动态规划 (1)
* 41 数据结构算法总结/
* 01 数据结构算法总结
* 42 哈夫曼压缩解压缩原理/
* 01 哈夫曼压缩解压缩原理
* 43 哈夫曼压缩编码_分析文件/
* 01 哈夫曼压缩编码_分析文件
* 44 哈夫曼压缩编码_根据字典创建哈弗曼树/
* 01 哈夫曼压缩编码_根据字典创建哈弗曼树
* 45 回顾/
* 01 回顾
* 46 根据哈夫曼树获取哈夫曼编码并写入字典中/
* 01 根据哈夫曼树获取哈夫曼编码并写入字典中
* 47 把哈夫曼编码写入文件中/
* 01 把哈夫曼编码写入文件中






