空间复杂度:
1.常数阶O(1): 常量、变量、对象占用 O(1) 空间;
循环中的变量占用 O(1) 空间;
循环中的函数占用 O(1) 空间;
2.线性阶O(n): 长度为 n 的数组,链表、栈、队列等占用 O(n) 空间;
递归深度为 n,同时存在 n 个未返回的函数,也占用O(n)的空间,如果每次递的过程都有返回则不会占用n;
3.平方阶O(n^2):平方阶常见于矩阵和图,元素数量与 n成平方关系;
二维列表占用 O(n^2) 空间vector<vector<int>> numMatrix;
4.指数阶O(2^n): 指数阶常见于二叉树 ,n层的二叉树节点数量为2^n-1;
5.对数阶O(log n):输入长度为 n 的数组,每轮递归将数组从中点处划分为两半,形成高度为 logn 的递归树