06 2021 档案
摘要:一、冒泡排序 原理:从第一个元素开始遍历比较,如果相邻元素大于它,就做一次交换,冒泡完成的元素不参与下一次比较,由此可见越往后的元素需要比较的次数递减,for循环可实现。 源代码: void bubble_sort(int *array, int size_array) { for(int j =
阅读全文
摘要:原理:快速排序需要选择一个元素作为key,然后以key为基准,比key小的放在左边,比key大的放在右边,这是一次过程。一次划分为两个区间,左右区间再用同样的方法进行排序,当最小区间排序完成,则快速排序完成,可返回结果。 key元素选择:每次选择末尾元素作为当前区间的key。 源代码:用户先录入设定
阅读全文
摘要:原理:归并排序采用分治的思想,将一组数据进行二分,划分次数为nlgn(先分),再从最小区间开始逐级往上进行排序合并(再治),合并操作是一次遍历完成,所以时间复杂度是n,整个算法的时间复杂度为nlgn。此外,归并排序需要额外的空间存储,大小为n。 源代码:用户先录入设定大小个数的元素,元素在一行用空格
阅读全文

浙公网安备 33010602011771号