优化排版,把复杂度标记为公式

This commit is contained in:
bqlin
2021-12-10 20:07:53 +08:00
parent 973582cd7e
commit 90638af21a
96 changed files with 462 additions and 449 deletions

View File

@@ -116,12 +116,12 @@ public:
}
};
```
* 时间复杂度O(nlogn + n^2)
* 空间复杂度O(n)
* 时间复杂度$O(n\log n + n^2)$
* 空间复杂度$O(n)$
但使用vector是非常费时的C++中vector可以理解是一个动态数组底层是普通数组实现的如果插入元素大于预先普通数组大小vector底部会有一个扩容的操作即申请两倍于原先普通数组的大小然后把数据拷贝到另一个更大的数组上
所以使用vector动态数组来insert是费时的插入再拷贝的话单纯一个插入的操作就是O(n^2)甚至可能拷贝好几次就不止O(n^2)
所以使用vector动态数组来insert是费时的插入再拷贝的话单纯一个插入的操作就是$O(n^2)$甚至可能拷贝好几次就不止$O(n^2)$
改成链表之后C++代码如下
@@ -150,8 +150,8 @@ public:
};
```
* 时间复杂度O(nlogn + n^2)
* 空间复杂度O(n)
* 时间复杂度$O(n\log n + n^2)$
* 空间复杂度$O(n)$
大家可以把两个版本的代码提交一下试试就可以发现其差别了