初级排序算法之选择排序

本文介绍了选择排序的基本概念,包括其工作原理、特点和时间复杂度。选择排序是一种不稳定的排序算法,它的主要特点是运行时间与输入顺序无关,且数据移动次数较少。在实际应用中,通过Python代码展示了选择排序的实现过程。
摘要由CSDN通过智能技术生成

一、选择排序

首先在未排序中找出最小的元素,存放到排序序列的起始位置,然后再从剩余的未排序序列中选出最小的元素

放在已排序的末尾(未排序的首位)

二、选择排序的特点

1、选择排序对文件本身的顺序依赖很低,运行时间与输入无关

2、长度为N的序列,最多需要比较N次,数据移动是所有排序算法中最少的

3、比较次数是N(N-1)/2

4、赋值操作介于0~3(N-1)

5、时间复杂度 O(N²)

6、选择排序是不稳定的排序

三、代码实现

#include <iostream>
#define Less(a,b) if(a<b)

using namespace std;

template <typename type>
void Exch(type& a, type& b)
{
	type temp = a;
	a = b;
	b = temp;
}
template <typename type>
void SelectionSort(type data[], int length)
{
	//两次遍历,找出最小的数,交换位置

	for (int i =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值