数据结构
文章平均质量分 69
☞L★X☜
这个作者很懒,什么都没留下…
展开
-
看了这个你就会快排了!
看了这个你就会快速排序了!快速排序:(C++版)完整代码在后文!!!挖坑法:(递归)思想:1、先设定一个基准数,一般取数组的第一个数做为基准数。2、设置两个变量,left和right,让left指向数组第一个数,right指向数组的最后一个数。即left = 0;right = n - 1;3、right一直向前走,直到找到一个比基准数小的数,将right目前指向的数赋值给left目前指向的数。while(left < right && ar[right] > t原创 2021-03-30 23:24:10 · 106 阅读 · 2 评论 -
排序算法之——二路归并排序
排序算法之——二路归并排序二路归并排序的思想:一次排序过程,将已经各自有序的两个段的数据合并一个段,并且合并后依旧有序开始,我们认为单个数据是有序的,一个数据就是一个段,一次排序之后,两个数据就是一个有序数据段,这样下一次每个数据段就是两个数据。最后将其合并成一个完成有序段,则整个数据就已经排序好了时间复杂度:O(nlog(n))空间复杂度:O(n)稳定性:稳定代码实现:void Meger(int* arr, int len, int width, int *brr){ int原创 2020-11-22 20:34:47 · 970 阅读 · 0 评论 -
排序算法之——快速排序
排序算法之——快速排序快排的思想:1、先在数据中找一个基准数据:一般为待排序数据的第一个,或者随机数,三位数取中2、将数据按照基准数据分为两部分,前一段都比基准小,后一段都比基准大。3、按照同样的思想分别处理前一段和后一段数据。按照一个基准数据,将待排序数据段分成两部分:数据段为start到end之间的数据。先将基准数据(start位置)保存到tmp中,i = start; j = end。在i < j 的时候,重复执行以下两个过程:1、通过j从后往前找第一个比基准数据小的数据,找到后原创 2020-11-19 18:25:26 · 109 阅读 · 0 评论 -
排序算法之——希尔排序shellsort
排序算法之——希尔排序算法原理:1、先将数据分为d个组,在每一组数据中使用直接插入排序算法来进行排序。void Shell先比较同组前两个数据,再比较比较之后的同组的后两个数据2、接着继续将数据分组(分组数越来越小),最后一次分组肯定为1,每一个分组数一般是互质的(5,3,1)void ShellSort目的: 使得整个数据越来越有序时间复杂度: O(n^1.3 --1.5)空间复杂度: O(1)稳定性: 稳定代码实现:void Shell(int* arr, int len原创 2020-11-16 21:08:33 · 80 阅读 · 0 评论 -
排序算法之——直接插入排序
排序算法之——直接插入排序算法原理:将数据分成两部分,前一段是已经有序的数据(初始时,前一段数据只有一个),后一段是无序的数据。从无序数据中拿一个数据(左边第一个数据),插入到前一段的有序数据中,使有序数据依旧有序。时间复杂度:O(n^2)空间复杂度:O(1)稳定性: 稳定思路图示:代码实现:void InsertSort(int* arr, int len){ for (int i = 1; i < len;++i)//i负责遍历无序数据段 { int tmp =原创 2020-11-16 19:35:32 · 74 阅读 · 0 评论 -
排序算法之——选择排序
排序算法之——选择排序算法原理:1、先遍历一遍整个待排序数据,找到当前最大数据的位置2、将最大数据标记,与当前最后一个位置元素做交换3、重复1、2步骤,直到只剩一个数据4、上述的步骤每遍历一遍,下一次就少遍历一次数据时间复杂度:O(n^2)空间复杂度:O(1)稳定性:因为是将最大数据直接和最后一个数据做交换,所以不稳定代码实现:void SelectSort(int* arr, int len){ for (int j = 0; j < len - 1; ++j)原创 2020-11-16 16:20:14 · 55 阅读 · 0 评论 -
排序算法之——冒泡排序
排序算法之——冒泡排序冒泡排序因其在排序中相邻元素不断交换,一些元素被换到后面,看起来像元素在冒泡一样而得名。算法原理:冒泡排序的原理(以递减为例)是每次从头开始比较相邻的元素,如果后面的比前面的小,则交换。循环完毕后再次从头扫描,直到某次扫描没有元素可交换,程序完成。时间复杂度:O(n^2)空间复杂度:O(1)稳定性:没有发生隔几个的数据交换,所以稳定代码实现void BubbleSort(int* arr, int len){ for (int i = 0; i < le原创 2020-11-16 16:08:41 · 408 阅读 · 0 评论