我应该先学习更高层次的如何掌握A(STL的使用来解决应用)问题
而不是B(STL的算法是如何构建)的。

  • 程序= 算法+数据结构
  • 算法 = 解决问题的思路
  • 数据结构 = 数据/元素 的存在结构/形式

那么如何区分A和B的使用场景呢?

题目考察调用的库函数实现细节(STL本身)。还是解决问题,(过程中使用了STL无所谓)。

STL中也存在非常好的现成算法

所以我觉得使用STL解LeetCode是个不错的综合学习方法

先实用,然后再补一补数据结构的课,看看STL是如何实现这些数据结构和算法的。(T形学习)

Roadmap:

书籍:

  1. STLC++标准库(第2版)——自修教程与参考手册
  2. STL源码剖析简体中文完整版(清晰扫描带目录)

视频:

  1. C++标准库(STL)与泛型编程
  2. C++新标准-C++11/14

课程附带资源:

  1. https://github.com/19PDP/Bilibili-plus

    资源:

    图解STL
    https://flushhip.blog.csdn.net/article/details/82858933
    不同STL库
    https://zhuanlan.zhihu.com/p/23016264
    官方文档:
    https://en.cppreference.com/w/
    b站视频介绍
    https://www.bilibili.com/video/BV1Ub411H7A3