记忆重拾:排序技术-排序的基本概念与性能
2020-03-09 16:03:15来源:博客园 阅读 ()
记忆重拾:排序技术-排序的基本概念与性能
基本概念:
1.在排序问题中,通常将数据袁术称为记录(record)。
2.排序是将一个记录的任意序列重新排列成一个按 关键码(排序码) 有序的序列。
3.正序、逆序。若待排序序列中的记录已经按关键码排好序,称此记录序列为正序,反之若排序序列中记录的排序序列与排好序的顺序正好相反,称之为逆序。
4.趟,在排序过程中,将待排序的记录序列扫描一遍称之为一趟(pass)。
5.排序算法的稳定性,假定在待排序的记录序列中,存在多个具有相同关键码的记录,经过排序后,这些记录的相对次序保持不变,则称这种算法稳定;否则称之为不稳定。(是否稳定是由具体算法决定,不稳定的算法在某种条件下可能变成稳定的算法,而稳定的算法在某种条件下可能变为不稳定的算法)
6.排序的分类:
1.内排序与外排序:内排序是指在排序的整个过程中,所有待排序的记录都放置与内存中;外排序是指待排序的记录个数太多,需要将一部分记录放置在内存,另一部分记录放置到外村,整个排序过程需要在内外之间多次交换数据才能得到排序结果。
2.根据排序方法是否建立在关键码比较的基础,可以将排序方法分为 基于比较的排序 与 不急于比较的排序:
基于比较:主要通过关键码之间的比较和记录的移动这两种操作来实现,大致分为插入排序、交换排序、选择排序、归并排序等4类。
不基于比较:根据待排序数据的特点所采取的其他方法,通常没有大量的关键码之间的比较和记录的移动操作。
排序算法的性能:
排序是数据处理中经常执行的一种操作,往往属于系统的核心部分,因此排序算法的时间开销是衡量算法好坏的重要标志。
在基于比较的内排序,排序过程中基本由以下两种操作:1.比较(compare),关键码之间的比较 2.移动(move),记录从一个位置移动到另一个位置。所以在待排序记录个数一定的条件下,算法的执行时间主要消耗在关键码之间的比较和记录的移动上。因此,高效率的排序算法应该具有尽可能少的关键码比较次数和尽可能少的记录移动次数。
评价算法另一个标准是执行算法所需要的辅助存储空间。在待排序记录个数一定的条件下,除了存放待排序记录占用的存储空间之外,执行算法所需要的其他存储空间。
另外,算法本身的复杂程度也是一个要考虑的因素。
原文链接:https://www.cnblogs.com/lvsafe/p/12450271.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:下单减库存
- 基础排序算法(附加java实现) 2020-06-02
- LeetCode 面试题53 - I. 在排序数组中查找数字 I 2020-05-22
- LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置 2020-05-22
- Java 集合排序策略接口 Comparator 2020-05-20
- Oracle用decode函数或CASE-WHEN实现自定义排序 2020-05-18
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash