导语:截止到11月9日,我已完成对C++的数据结构与算法的学习,前后历时约1个月时间。现已对数据结构与算法有了基本的了解,不得不说,数据结构知识很多,而且很是考验思维能力,后面还需要通过大量的做题来深入理解。
数据结构与算法学习历程
1.表 (顺序表,链表)
2.栈 (顺序栈,链栈)
3.队列 (顺序队列,链队列,双端队列)
4.树与二叉树 (树与二叉树,森林)
5.图 (广度优先遍历,深度优先遍历)
6.查找算法 (顺序查找,折半查找)
7.排序算法 (直接插入排序,希尔排序,冒泡排序,快速排序,直接选择排序,堆排序,归并排序,基数排序)
排序算法 | 平均时间复杂度 | 空间复杂度 | 稳定性 |
---|---|---|---|
冒泡排序 | O ( n 2 ) O\left( n^2 \right) O(n2) | O ( 1 ) O\left( 1 \right) O(1) | 稳定 |
快排 | O ( n log 2 n ) O\left( n\log _{2}^{n} \right) O(nlog2n) | O ( log 2 n ) O\left( \log _{2}^{n} \right) O(log2n) | 不稳定 |
堆排序 | O ( n log 2 n ) O\left( n\log _{2}^{n} \right) O(nlog2n) | O ( 1 ) O\left( 1 \right) O(1) | 不稳定 |
归并排序 | O ( n log 2 n ) O\left( n\log _{2}^{n} \right) O(nlog2n) | O ( n ) O\left( n \right) O(n) | 稳定 |
后续:学习完数据结构和算法后,开始每天在力扣题库上刷2-3道题,并深入理解。
接下来的任务:数据库,操作系统,计算机网络