数据结构与算法——从零开始学习(七)排序算法及时间复杂度

本文详细介绍了排序算法的基础概念和多种排序方法,包括插入排序、冒泡排序、选择排序、希尔排序、快速排序、堆排序和归并排序。通过对每种排序算法的逻辑步骤、时间复杂度分析,帮助读者深入理解排序算法的工作原理和性能。同时,文章还探讨了排序算法在不同情况下的适用性和时间复杂度表示方法。

系列文章

第一章:基础知识

第二章:线性表

第三章:栈和队列 

第四章:字符串和数组

第五章:树和二叉树

第六章:图


第七章 排序

(附Android源码)本章案例demo下载:http://download.youkuaiyun.com/download/csdn_aiyang/9943795 

目录

第七章 排序

一、基础概念

二、简单排序(插入、冒泡、选择)

2.1 插入排序

2.2 冒泡排序

2.3 选择排序

三、希尔排序

四、快速排序

五、堆排序

六、归并排序

七、排序算法总结

八、时间复杂度

(1)时间复杂度的表示方法

(2)时间复杂度的分析与计算方法


一、基础概念

排序(Sorting)是计算机程序设计中的一种重要操作,其功能是将一个数据元素集合或序列重新排列成一个按数据元素某个项值有序的序列。作为排序依据的数据项被称为“排序码”,也即数据元素的关键码。按关键码对元素序列进行排序,若相同关键码值的元素间关系在排序前与排序后保持一致,称此排序方法是稳定排序,否则为不稳定排序。例如,a[i]=a[j],且a[i]在 a[j]之前,在排序后,a[i]仍在 a[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。

排序的性能评价标准不外乎排序过程的时间和空间代价,时间代价是以排序过程中数据元素的关键码之间的比较次数和数据元素运动次数来反映,空间代价是以排序过程中需要的附近空间量来表示。

此外,排序分为内部排序和外部排序,即元素量大不大是不是在内存中进行排序,一般都是采用内排序。

 

二、简单排序(插入、冒泡、选择)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾阳Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值