医疗图片做网站图片,网站 建设平台分析,wordpress谷歌地图插件,做效果图网上怎么找客户知识总览#xff1a; 简单选择排序#xff1a;
从还没排序的元素的位置从左到右一趟趟找#xff0c;每次都找值最小的#xff0c;然后和当前待排的第一个元素交换位置#xff0c;直到剩下最后一个元素#xff0c;每排序一个元素下一趟就不再找该元素了#xff0c;从下一…知识总览 简单选择排序
从还没排序的元素的位置从左到右一趟趟找每次都找值最小的然后和当前待排的第一个元素交换位置直到剩下最后一个元素每排序一个元素下一趟就不再找该元素了从下一个元素开始排序
第一趟从左往右扫描找到值最小的元素13把13和最前边位置的元素49交换如图2
在第2趟排序中找除了第一个已经排序好的元素外从剩下待排元素中从左到右找到选择值最小的元素27和第2个元素38的位置交换
在第3趟排序上同找除了前2个剩余没排序的元素从左到右找到值最小的38和第3个元素位置65交换
在第4趟排序上同找除了前3个剩余没排序的元素从左到右找到值最小的49和第4个元素位置97交换因为有2个49但是优先选择先找到的49和97交换
在第5趟排序上同找除了前4个剩余没排序的元素从左到右找到值最小的另一个49和第5个元素位置76交换
在第6趟排序上同找除了前5个剩余没排序的元素从左到右找到值最小的65和第6个元素位置97交换
在第7趟排序上同找除了前6个剩余没排序的元素从左到右找到值最小的76和第7个元素位置97交换
最后一趟只剩下一个待排元素肯定是最大的元素不需要再处理了至此结束
因此n个元素最后一个元素不用处理则只需n-1趟处理 代码实现
n个元素要进行n-1趟排序i从0开始则要i n-1进行n-1趟循环用min变量记录最小元素位置双层for循环第一层记录本趟排序从i位置开始第2层记录本趟循环最小元素位置第2层for循环遍历完后如果min元素和开始排序的元素不相等则交换开始排序i位置的元素和最小元素位置 算法性能分析
空间复杂度O(1)只需记录几个IBA能量就可以让排序顺序执行
时间复杂度跟有序、无序、逆序没关系不管什么顺序都要进行n-1趟排序每进行一趟排序都要两两关键字对比第一趟n个元素需要比较n-1次第二趟n-1个元素待排需要比较n-2次依次类推直到排序结束需要比较的关键字次数总和为n(n-1)/2即时间复杂度为O(n²)
元素交换次数n-1次(为啥是小于不是等于吗。。。)
算法不稳定如下第一趟选值最小的1和第一个元素交换不带下划线的2跑到了带下划线2的后边第2趟比较俩2相等不交换位置则排序之后俩值相同的元素2已经改变了位置
简单选择排序即可适用于顺序表又可适用于链表(适用于链表的话听说每遍历一次把元素值最小的放在链头或链尾) 知识回顾 又水一篇。。。。。。。。。