在本章中,为了突出排序 算法本身的内容,我们简化各项 数据的属性个数 假设待排序的数据都只有 个属性,这个属性就是关键字, 并且关键字的类型是整型
在本章中,为了突出排序 算法本身的内容,我们简化各项 数据的属性个数。 假设待排序的数据都只有 一个属性,这个属性就是关键字, 并且关键字的类型是整型
我们可以把排序看成是一种定 义在某种数据集合上的操作 本章所讲的各种内部排序,都 可以认为是在一维数组这种线性数 据结构上定义的操作。其功能是将 组任一排列的数据元素重新排列 成一个按键值有序的序列
我们可以把排序看成是一种定 义在某种数据集合上的操作。 本章所讲的各种内部排序,都 可以认为是在一维数组这种线性数 据结构上定义的操作。其功能是将 一组任一排列的数据元素重新排列 成一个按键值有序的序列
对排序更为确切的定义: 假设{D1,D2r…,D1}为含有N项数据 的序列,其中D:(1≤i≤N)表示序列中 第i项数据,N项数据对应的键值序列为 IK,K KI 排序操作是将这些数据重新排列成 个按键值有序的新序列 ARR R 使得相应的键值满 足条件p1≤ pN(此时新序列成 “升序”)或p1≥p2≥…≥pN(此时新 序列成“降序”)
对排序更为确切的定义: 假设{D1,D2, …,DN}为含有N项数据 的序列,其中Di(1≤i≤N)表示序列中 第i项数据,N项数据对应的键值序列为 {K1,K2, …,KN}。 排序操作是将这些数据重新排列成一 个 按 键 值 有 序 的 新 序 列 {Rp1,Rp2, …,RpN},使得相应的键值满 足条件p1≤p2≤…≤pN(此时新序列成 “升序”)或p1≥p2≥…≥pN(此时新 序列成“降序”)
注意:在上面定义叙述中所用到 的≤或≥这两个比较符号,是通用意义 上的关系比较符。 对于数值型信息,它是表示关系的 小或大;对于字符串来说,它是指在字 典中所排列位置的前或后 对于不同类型的数据,我们可以规 定不同的比较规则来反映≤或≥的含义
注意:在上面定义叙述中所用到 的≤或≥这两个比较符号,是通用意义 上的关系比较符。 对于数值型信息,它是表示关系的 小或大;对于字符串来说,它是指在字 典中所排列位置的前或后。 对于不同类型的数据,我们可以规 定不同的比较规则来反映≤或≥的含义
如果在数据序列中,有多个具 有相同键值的数据,在排序前后, 这些数据之间的相对次序保持不变, 这样的排序方法被称作是稳定的, 否则被称为是不稳定的
如果在数据序列中,有多个具 有相同键值的数据,在排序前后, 这些数据之间的相对次序保持不变, 这样的排序方法被称作是稳定的, 否则被称为是不稳定的