概念,原理,步骤,复杂度等内容讲解
树图思维导图提供 C++选择排序(SelectionSort) 在线思维导图免费制作,点击“编辑”按钮,可对 C++选择排序(SelectionSort) 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:fa29ae9d41f3fa797590f1e0b018bd5e
C++选择排序(SelectionSort)思维导图模板大纲
简单直观的排序算法
从未排序序列中找到最小(大)元素,放到排序序列起始位置
第i趟排序开始时,当前有序区和无序区分别为r[1..i-1]和r[i..n]
选出r[i..n]中的最小(或最大)元素,与r[i]交换
第一步
在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
第二步
再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾
第三步
重复第二步,直到所有元素均排序完毕
时间复杂度
O(n^2),无论数据如何,都需要进行n*(n-1)/2次比较
空间复杂度
O(1),选择排序是原地排序,不需要额外的存储空间
效率不高,但实现简单
数据量不大时使用
作为其他排序算法的子过程
函数定义
选择排序函数selectionSort
参数:int i, j, minIndex, temp;
找到[i, n-1]区间里的最小数的索引: for (i = 0; i < n-1; i++) { minIndex = i; for (j = i+1; j < n; j++) { if (arr[j] < arr[minIndex]) { minIndex = j; } }
/将找到的最小值交换到前面: temp = arr[minIndex]; arr[minIndex] = arr[i]; arr[i] = temp; }
树图思维导图提供 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 在线思维导图免费制作,点击“编辑”按钮,可对 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:10b9a8a2dd2fb4593f8130ef16c320fc
树图思维导图提供 双重循环--C++第11课 在线思维导图免费制作,点击“编辑”按钮,可对 双重循环--C++第11课 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:cf46a6cf29101c316c75f05a5a6602f8