- 博客(2)
- 收藏
- 关注
原创 (一) 时间复杂度为O(n2)的排序方法
1、选择排序: 首先找到数组的最小元素,并将其与第一个元素交换位置。然后,再在剩下的元素中找到最小的元素,与数组的第二个元素交换位置。循环整个数组。 1. 时间复杂度: O(n2) 2. 空间复杂度: O(1) 3. 非稳定排序 4. 原地排序 原理: vector<int> SelectSort(vector<int> & nums){ int n = nums.size(); for(int i=0;i<n-1;i++){ int
2021-10-27 17:14:06
615
原创 数据结构:栈 stack
最小栈 设计一个支持 push,pop,top操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。 方法一:时间复杂度O(1),空间复杂度O(N) 使用一个辅助栈 min_stack,每个元素 a 入栈时把当前栈的最小值 min_value 存储起来。在这之后无论何时,如果栈顶元素是 a,我们就可以直接返回存储的最小值 min_value。 push(x)
2021-10-26 17:28:04
154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人