排序算法

本文详细介绍了排序的概念,包括内部排序和外部排序,稳定性分析,以及算法的时间复杂度和空间复杂度。重点讨论了时间复杂度的大O表示法,常见的时间复杂度阶,并列举了一些常见的排序算法如冒泡排序、选择排序和插入排序。
摘要由CSDN通过智能技术生成

排序的概念

概念

排序是计算机内经常进行的一种操作,其目的是将一组无序的数据元素调整为有序的数据元素的过程。

操作

比较:任意两个数据元素通过比较操作确定先后次序。

//比较数组中两个数据
if (arr[i] > arr[j])
	//arr[i]大于arr[j]
else
	//arr[i]小于arr[j]

交换:数据元素之间需要交换才能得到预期结果。

//数据交换函数
void swap(int *a, int *b)
{
    
     int tmp = *a;
     *a = *b;
     *b = tmp;
}

数据量分析

内部排序:

若整个排序过程不需要访问外存,仅在内存中完成数据的调整,则称此类排序问题为内部排序。

外部排序:

若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。

稳定性分析

前提:一组数据中出现多个相同的数据

//一组数据中出现多个相同的数据
int arr[]={
    9,1,5,6,4,10,5,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值