算法与数据结构
吹不断的Spring
这个作者很懒,什么都没留下…
展开
-
C语言版归并排序
C语言版归并排序时间复杂度因为每一次都是对半分,对于N个数字的序列不管一共需要递归log2(N)层,而每一层都要将n个数归并所以时间复杂度为O(n*log2(N))空间复杂度同理也需要递归log2(n)层并且每一层都需要n大小辅助空间所以它的空间复杂度也是O(n*log2(N))稳定性因为核心归并逻辑时候都是相邻大小比较排列,并没有相隔很多个比较所以大小一样的相对位置不会改变所以是稳定的c#include<stdio.h>//在指定的区间上进行归并排序/* *原创 2022-05-27 20:53:03 · 60 阅读 · 0 评论 -
快速排序c++版
#include<iostream>using namespace std;/* * @author 饶奇奇 *@time 2022/4/22 * 使用软件 vim * 算法思路: * 所谓基准数归位就是让它的右边全部大于它,它的左边全部小于它 * 1.以第一个数为基准数 * 2.从右开始扫描遇到比基准数小的数停住,把这个值赋给左指针指向的位置 * 3.从左指针下一个数开始扫描遇到比基准数大的数然后停住然后给上一个右指针的位置,并且向左移动右指针 * 4.如果原创 2022-04-22 22:30:28 · 530 阅读 · 0 评论