10-排序-Introduction
来源:互联网 发布:25岁的程序员小张 编辑:程序博客网 时间:2024/05/22 01:49
排序
排序(Sorting)
将数据元素(或记录)的任意序列,重新排列成一个按关键排序过程中的两种基本操作
(1)比较两个关键字值的大小。(2)根据比较结果,移动记录的位置
对关键字排序的三个原则
(1)关键字值为数值型的,则按键值大小为依据。
(2)关键字值为ASCII码,则按键值的内码编排顺序为依据。
(3)关键字值为汉字字符串类型,则大多以汉字拼音的字典次序为依据。
排序方法的稳定和不稳定
若对任意的数据元素序列,使用某个排序方法按关键字进行排序,对原先具有相同键值元素间的位置关系,若排序前与排序后保持一致,称此排序方法是稳定的;反之,则称为不稳定的。例:对数据键值为:5,3,8,3,6,6,排序。
若排序后的序列为:3,3,5,6,6,8
其相同键值的元素位置依旧是 3 在 3 前,6 在6 前,与排序前保持一致,则这种排序法是稳定的。
若排序后的序列为:3,3,5,6,6,8
则这种排序法是不稳定的。
待排序记录的三种存储方式
(1)待排序记录存放在地址连续的一组存储单元上。(2)待排序记录存放在静态链表中。
(3)待排序记录存放在一组地址连续的存储单元,同时另设一个指示各个记录存储位置的地址向量,在排序过程中不移动记录本身,而移动地址向量中这些记录的“地址”,在排序结束后,再按照地址向量中的值调整记录的存储位置。
内排序
整个排序过程都在内存进行的排序称为内排序
外排序
待排序的数据元素量大,以致内存一次不能容纳全部记录,在排序过程中需要对外存进行访问的排序称为外排序。这里介绍内排序
下转 10--插入排序
0 0
- 10-排序-Introduction
- Introduction
- Introduction
- Introduction
- Introduction
- Introduction
- Introduction
- Introduction
- Introduction
- Introduction
- Introduction
- introduction
- Introduction
- Introduction
- introduction
- Introduction
- Introduction
- Introduction
- surfacefliner
- mysql配置文件例子(三)
- 手机视频聚合App影响 视频网站转型堪忧
- Win7下解决文件无法删除"操作无法完成
- PYTHON
- 10-排序-Introduction
- VMware下Linux虚拟机安装VMware tools完整过程
- Android一键清除其他应用缓存数据,有没有什么好方法?【已解决】
- 理工大学ACM平台题答案关于C语言 1243 母牛的故事
- Linux CentOS 6.4安装Mysql数据库教程
- Zend framework 2.2.5 初始化创建项目
- Java集合总结
- framebuffer驱动开发三
- VMware的存储野心(上):软件定义、分布式DAS支持