C语言学习
文章平均质量分 80
ice-Hamster
这个作者很懒,什么都没留下…
展开
-
冒泡排序(C语言)
中文名:冒泡排序英文名:Bubble Sort时间复杂度:O(n²)稳定性:稳定排顺序算法原理:比较相邻的元素,当第一个比第二个大(小)时,进行交换在每一对相邻的元素都完成该操作后,最大(小)的元素会被排到最后,再将除最后一个元素外的所以元素重复进行以上操作,直至完成升序(降序)排序。原创 2022-09-06 11:13:22 · 489 阅读 · 0 评论 -
选择排序(c语言)
中文名:选择排序英文名:Selection Sort、时间复杂度:O(n^2)稳定性:不稳定的排序算法原理:第一次从待排序的元素中选出最小(或最大)的一个元素a,记录其位置的下标,然后将剩下的元素依次与元素a相比较,直到找到剩下的元素中最小的元素b(且元素b比元素a小),二者交换位置(第一次循环结束),以此类推,直到全部待排序的数据元素的个数为零。原创 2022-09-12 22:08:46 · 15514 阅读 · 2 评论 -
快速排序(C语言)
中文名:快速排序英文名:quick sort时间复杂度:O(nlog2n)稳定性:不稳定性的排序算法(多个相同的值的相对位置在也许会在算法结束后位置发生改变)原理:将数组的第一个(最后一个)数组元素a,作为关键数据,将比a小的数字b放到a的左边(右边),所有比a小的数字b放到a的右边(左边),快速排序是对冒泡排序的的优化。原创 2022-09-14 21:27:25 · 17141 阅读 · 3 评论 -
插入排序 --- 附图解(C语言)
中文名:插入排序英文名:Insertion sort时间复杂度:O(N^(1-2))稳定性:稳定的排序算法原理:在待排序的数组里,从数组的第二个数字开始,通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序的优点:如果是进行相对有序的数组,效率会非常高。不占额外空间,是一种稳定的算法,编写过程也相对简单,时间复杂度高。插入排序的缺点:遇到数据过多的情况下不是很适用。最后到这里,文章就结束了,如果在内容上有问题,恳请各位大佬指出。原创 2022-09-19 20:05:26 · 21825 阅读 · 9 评论 -
希尔排序----附图解(C语言)
希尔排序缩小增量排序O(1)不稳定的排序算法希尔排序是把整个数组元素按下标的一定增量分组,对每组分别使用直接插入排序算法排序;随着增量逐渐减少,每组包含的元素越来越多,当增量减至 1 时,整个数组恰被分成一组,算法便终止,排序完成。希尔排序的优缺点不需要大量的辅助空间,当刚开始元素无序的时候,步长最大,所以插入排序的元素个数很少,速度很快;当元素基本有序了,步长很小,插入排序对于有序的序列效率很高。代码简单,容易实现。对规模非常大的数据希尔排序不是最优选择。原创 2022-09-25 12:10:08 · 2785 阅读 · 1 评论 -
归并排序----附图解(C语言)
归并排序Merge SortO(n log n)稳定的排序算法归并排序是采的的分治法为核心的一个非常典型的排序算法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。原创 2022-10-03 19:09:02 · 1112 阅读 · 0 评论