前驱课程
模仿好的设计
很多学生在学习数据结构的时候,不知道如何实现,没有思路。
实际上是缺少良好代码的参考,没有模仿对象。
教程优势
- 教程来自于工作多年实际工作经验和百所欧美大学课程辅导
- 辅导的学生所在的学校:美国-密西根大学;美国-伦斯勒理工大学;美国-华盛顿大学;美国-休斯敦大学;美国-亚利桑那州立大学;美国-东北大学;英国-伦敦大学学院;澳大利亚-阿德莱德大学;澳大利亚-蒙纳士大学;澳大利亚-伍伦贡大学;澳大利亚-新南威尔士大学;加拿大-哥伦比亚大学;加拿大-滑铁卢大学;加拿大-里贾纳大学;中国-复旦大学;中国上海科技大学;中国-清华大学;中国-中国人民大学;中国台湾-元智大学;中国-同济大学;中国-南开大学;
- 你只需要填写关键的几行代码即可。大部分时间在理解现有的设计。节省了大量的繁杂时间,大幅提高了学习效率。
-
完善的测试用例。你只需要让程序运行的和标准答案一样即可。主要测试独立自主的调试能力,还原企业开发的真实环境。
-
所有编译警告被视为错误。
-
自带内存泄漏检测。
-
开发环境仅支持 Windows Visual Studio 2022
教程内容
1 空间复杂度与时间复杂度
1.1 时间复杂度和空间复杂度的最小单位
1.2 时间复杂度和空间复杂度的量化描述 Big O 表示法
2 动态数组 Vector
2.1 动态数组 Vector 下标操作符重载 (A)(V)
2.2 这里之前的文章因为和2.4高度重合,所以删除了
2.3 Vector 动态数组(迭代器)(友元类 friend class)(A)
2.4 Vector<T> 动态数组(随机访问迭代器) C++11 std::initializer_list<T>
2.5 String 动态字符串 (完整源码)
3 链表 List
3.1 单向链表( signal linked list)(指针成员)
3.2 单项链表( signal linked list)(节点成员)
3.3 模板双向排序链表 (A)
4 栈
4.1 链式栈StackT
4.2 基于链表list封装栈StackL 题目+答案 2分钟看完
4.3 练习 基于栈的表达式Express求值计算器
5 队列
5.1 基于链表的队列
6 哈希表
6.1 哈希表HashMap(基于vector和list)(A)
7 二叉树
7.1 二叉查找树(binary search tree)(难度7)(A)
7.2 平衡二叉树AVLTree的实现与应用(难度5/10)
8 排序
8.1 冒泡排序(Bubble Sort)(A)
8.2 插入排序(Insertion Sort)(A)
8.3 选择排序(Selection Sort)(A)
8.4 快速排序(Quit Sort)(A)
8.5 各种排序算法性能对比
9 图
9.1 图 Graph
10 智能指针
10.1 shared_ptr(难度3)
参考书
1 《C++数据结构与算法(第4版)》 Adam Drozdek 著
2 《数据结构》清华大学 邓俊辉
3 《算法导论》
其他人的课程
下面这个课程循序渐进的刷算法,适合本科生学习数据结构刷题,也适合考研的同学刷。
我的课程主要是针对将来进企业工作用的。侧重点不同。