知识大全 排序 - 排序基本概念 (一)
Posted 知
篇首语:古人学问无遗力,少壮工夫老始成。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 排序 - 排序基本概念 (一)相关的知识,希望对你有一定的参考价值。
排序(sort)或分类
所谓排序 就是要整理文件中的记录 使之按关键字递增(或递减)次序排列起来 其确切定义如下
输入 n个记录R R … R n 其相应的关键字分别为K K … K n
输出 R il R i … R in 使得K i ≤K i ≤…≤K in (或K i ≥K i ≥…≥K in )
被排序对象 文件
被排序的对象 文件由一组记录组成
记录则由若干个数据项(或域)组成 其中有一项可用来标识一个记录 称为关键字项 该数据项的值称为关键字(Key)
注意
在不易产生混淆时 将关键字项简称为关键字
排序运算的依据 关键字
用来作排序运算依据的关键字 可以是数字类型 也可以是字符类型
关键字的选取应根据问题的要求而定
【例】在高考成绩统计中将每个考生作为一个记录 每条记录包含准考证号 姓名 各科的分数和总分数等项内容 若要惟一地标识
一个考生的记录 则必须用 准考证号 作为关键字 若要按照考生的总分数排名次 则需用 总分数 作为关键字
排序的稳定性
当待排序记录的关键字均不相同时 排序结果是惟一的 否则排序结果不唯一
在待排序的文件中 若存在多个关键字相同的记录 经过排序后这些具有相同关键字的记录之间的相对次序保持不变 该排序方
法是 稳定的 ;若具有相同关键字的记录之间的相对次序发生变化 则称这种排序方法是 不稳定的
注意
排序算法的稳定性是针对所有输入实例而言的 即在所有可能的输入实例中 只要有一个实例使得算法不满足稳定性要求 则该
排序算法就是不稳定的
排序方法的分类
按是否涉及数据的内 外存交换分
在排序过程中 若整个文件都是放在内存中处理 排序时不涉及数据的内 外存交换 则称之为 内部排序 (简称内排序);反之
若排序过程中要进行数据的内 外存交换 则称之为 外部排序
注意
① 内排序适用于记录个数不很多的小文件
② 外排序则适用于记录个数太多 不能一次将其全部记录放人内存的大文件
按策略划分内部排序方法
cha138/Article/program/sjjg/201311/23810相关参考
基本概念 关键字项及关键字(Key)记录由若干个数据项(或域)组成其中有一项可用来标识一个记录称为关键字项该数据项的值称为关键字 排序(Sorting)又称分类假设含n个记
交换排序的基本思想是两两比较待排序记录的关键字发现两个记录的次序相反时即进行交换直到没有反序的记录为止 应用交换排序基本思想的主要排序方法有冒泡排序和快速排序 冒泡排序 排序方法 将被排序
第八章排序 基本概念 文件有一组记录组成记录有若干数据项组成唯一标识记录的数据项称关键字; 排序是将文件按关键字的递增(减)顺序排列; 排序文件中有相同的关键字时若排序后相对次序保持不变的
插入排序(InsertionSort)的基本思想是每次将一个待排序的记录按其关键字大小插入到前面已经排好序的子文件中的适当 位置直到全部记录插入完成为止 本节介绍两种插入排序方法直接插入排序和
归并排序(MergeSort)是利用归并技术来进行排序归并是指将若干个已排序的子文件合并成一个有序的文件 两路归并算法 算法基本思路 设两个有序的子文件(相当于输入堆)放在同一向量中相邻的位
堆排序 堆排序利用了大根堆(或小根堆)堆顶记录的关键字最大(或最小)这一特征使得在当前无序区中选取最大(或最小)关键字的记录变得 简单 ()用大根堆排序的基本思想 ①先将初始文件R[n]建
概念 有向无环图(DirectedAcyclicGraph):一个无环的有向图简称DAG图 拓扑排序(TopologicalSort)将一个有向无环图G中所有顶点排成一个线性序列使得对图中任意一对
希尔排序(ShellSort)是插入排序的一种因DLShell于年提出而得名 希尔排序基本思想 基本思想 先取一个小于n的整数d作为第一个增量把文件的全部记录分成d个组所有距离为dl的倍数的
按平均时间将排序分为四类 ()平方阶(O(n))排序 一般称为简单排序例如直接插入直接选择和冒泡排序; ()线性对数阶(O(nlgn))排序 如快速堆和归并排序; ()O(n+£)阶排序
归并排序 归并排序有两种实现方法自底向上和自顶向下 自底向上的方法 ()自底向上的基本思想 自底向上的基本思想是第趟归并排序时将待排序的文件R[n]看作是n个长度为的有序子文件将这些子文件