ImageVerifierCode 换一换
格式:DOCX , 页数:4 ,大小:18.70KB ,
资源ID:5554443      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5554443.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【数据结构】排序排序的基本概念.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

【数据结构】排序排序的基本概念.docx

1、【数据结构】排序 排序的基本概念排序(sort)或分类所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。其确切定义如下:输入:n 个记录 R1,R2,Rn,其相应的关键字分别为 K1,K2,Kn。输出:Ril,Ri2,Rin,使得 Ki1Ki2Kin。(或 Ki1Ki2Kin)。1. 被排序对象-文件被排序的对象-文件由一组记录组成。记录则由若干个数据项(或域)组成。其中有一项可用来标识一个记录,称为关键字项。该数据项的值称为关键字(Key)。注意:在不易产生混淆时,将关键字项简称为关键字。2. 排序运算的依据-关键字用来作排序运算依据的关键字,可以是数字类型,也可以是

2、字符类型。关键字的选取应根据问题的要求而定。【例】在高考成绩统计中将每个考生作为一个记录。每条记录包含准考证号、姓名、各科的分数和总分数等项内容。若要惟一地标识一个考生的记录,则必须用准考证号作为关键字。若要按照考生的总分数排名次,则需用总分数作为关键字。排序的稳定性当待排序记录的关键字均不相同时,排序结果是惟一的,否则排序结果不唯一。在待排序的文件中,若存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的;若具有相同关键字的记录之间的相对次序发生变化,则称这种排序方法是不稳定的。注意:排序算法的稳定性是针对所有输入实例而言的。即在所有可能的输

3、入实例 中,只要有一个实例使得算法不满足稳定性要求,则该排序算法就是不稳定的。排序方法的分类1. 按是否涉及数据的内、外存交换分在排序过程中,若整个文件都是放在内存中处理,排序时不涉及数据的内、外存交换,则称之为内部排序(简称内排序);反之,若排序过程中要进行数据 的内、外存交换,则称之为外部排序。注意:内排序适用于记录个数不很多的小文件外排序则适用于记录个数太多,不能一次将其全部记录放人内存的大文件。2. 按策略划分内部排序方法可以分为五类:插入排序、选择排序、交换排序、归并排序和分配排序。排序算法分析1. 排序算法的基本操作大多数排序算法都有两个基本的操作:(1) 比较两个关键字的大小;(

4、2) 改变指向记录的指针或移动记录本身。注意:第(2)种基本操作的实现依赖于待排序记录的存储方式。2. 待排文件的常用存储方式(1) 以顺序表(或直接用向量)作为存储结构排序过程:对记录本身进行物理重排(即通过关键字之间的比较判定,将记录移到合适的位置)(2) 以链表作为存储结构排序过程:无须移动记录,仅需修改指针。通常将这类排序称为链表(或链式)排序;(3) 用顺序的方式存储待排序的记录,但同时建立一个辅助表(如包括关键字和指向记录位置的指针组成的索引表)排序过程:只需对辅助表的表目进行物理重排(即只移动辅助表的表目,而不移动记录本身)。适用于难于在链表上实现,仍需避免排序过程中移动记录的排

5、序方法。3. 排序算法性能评价(1) 评价排序算法好坏的标准评价排序算法好坏的标准主要有两条:执行时间和所需的辅助空间算法本身的复杂程度(2) 排序算法的空间复杂度若排序算法所需的辅助空间并不依赖于问题的规模 n,即辅助空间是 O(1),则称之为就地排序(In-PlaceSou)。非就地排序一般要求的辅助空间为 O(n)。 (3)排序算法的时间开销大多数排序算法的时间开销主要是关键字之间的比较和记录的移动。有的 排序算法其执行时间不仅依赖于问题的规模,还取决于输入实例中数据的状态。文件的顺序存储结构表示#define nl00/假设的文件长度,即待排序的记录数目 typedef int KeyType;/假设的关键字类型typedef struct/记录类型 KeyType key;/关键字项InfoType otherinfo;/其它数据项,类型 InfoType 依赖于具体应用而定义RecType;typedef RecType SeqListn+1;/SeqList 为顺序表类型,表中第 0 个单元一般用作哨兵注意:若关键字类型没有比较算符,则可事先定义宏或函数来表示比较运算。【例】关键字为字符串时,可定义宏#define LT(a,b)(Stromp(a), (b)0)。那么算法中a b可用LT(a,b)取代。若使用 C+,则定义重载的算符更为方便。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1