`
m635674608
  • 浏览: 4933878 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

排序——排序的基本概念

 
阅读更多

一、排序概念

排序是将一组数据按递增或递减的顺序排列。排序是最一种最基础的、最常用的算法。

二、排序的分类

在计算机中,由于数据形式、数量和保存形式不同,对数据进行排序的方法也不同。按照排序过程中数据保存形式的不同,可以分外内部排序和外部排序

1、内部排序

整个排序过程不需要访问外存便能完成,则称为内部排序,内部排序的过程是一个逐步扩大记录的有序序长度的过程。

2、外部排序

使用内部排序时,所有待处理的数据都已调入到计算机内存中,在排序操作时可以直接访问使用。但是计算机内存容量有限,当大批量的数据进行排序时,不 可能一次将数据全部装入内存,即待排序的数据记录存储在外存中(如硬盘,磁带,闪存等)。这时,可以从外存中读取一部分数据到内存,排序完成后,再存储到 外存中,然后再从外存中读取下一部分数据到内存中进行处理。这样将待排序数据在内存和外存之间进行多次数据交换,达到排序整个数据的目的就是”外部排序 “。

 

注意:外部排序最常用的算法时多路并归排序,即将源文件分解成能够一次性装入内存的部分,分别将每一部分调入内存完成排序。然后对已经排序的子文件进行并归排序。

 

http://my.oschina.net/u/2294938/blog/686225

分享到:
评论

相关推荐

    堆排序——Java与Go实现

    概念分析 堆排序是使用堆这种数据结构进行排序的方法。(好像是废话) 思路分析 首先,我们将待排序的数组看作一个完全二叉树 将此二叉树转成大顶堆或者小顶堆 将堆顶元素与堆的最后一个元素互换,之后丢弃最后一个...

    程序员实用算法——源码

     5.5 对多个键进行排序——不稳定排序的修正方法  5.6 网络排序  5.7 小结:选择一种排序算法  5.8 资源和参考资料 第6章 树  6.1 二叉树  6.1.1 树查找  6.1.2 节点插入  6.1.3 节点删除  6.1.4...

    排序算法 各种算法的综合

    排序算法是一种基本并且常用的算法。由于实际工作中处理的数量巨大,所以排序算法 对算法本身的速度要求很高。 而一般我们所谓的算法的性能主要是指算法的复杂度,一般用O方法来表示。在后面我将 给出详细的说明...

    排序算法优化:时间复杂度比较及性能提升技巧.md

    当我们谈论算法的效率时,时间复杂度是一个关键的概念。它告诉我们随着输入规模增长,算法执行所需的时间如何增加。...让我们通过比较两个经典的排序算法——冒泡排序和快速排序——来探讨时间复杂度的大小关系。

    Java数据结构和算法

    (1)数据结构与算法概念解析 (2)数据结构之数组 (3)数据结构之栈 (4)数据结构之队列 (5)数据结构之链表 (6)数据结构之二叉树 (7)数据结构之霍夫曼树 (8)数据结构之红黑树(一)——基础分析 ...

    一些常用的排序算法(强烈推荐)

    我将按照算法的复杂度,从简单到难来分析算法。... 第四部分是我送给大家的一个餐后的甜点——一个基于模板的通用快速排序。由于是模板函数 可以对任何数据类型排序(抱歉,里面使用了一些论坛专家的呢称)。

    python数据结构与算法详解与源码

    ———————————————— 版权声明:本文为CSDN博主「dwf1354046363」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:...

    论文研究-基于属性度的属性排序算法.pdf

    经过对现有属性拓扑的算法与流程的研究,分析了现有属性排序算法的特异性和层次局限性,通过结合度的概念,提出了一种属性衡量的新方式——属性度,并提出了基于属性度的属性排序算法。这种排序算法得到的结果更加...

    《数据结构——用C语言描述》-蔡明志

    对每一种数据结构,除了详细阐述其基本概念和具体实现外,都尽可能地对每种操作给出C语言的算法描述;对查找和排序的各种算法,还着重在时间上做出定量或定性的分析比较。  《数据结构——用C语言描述》不但涉及...

    数据结构习题答案(全部算法)严蔚敏版

    9.1 排序基本概念 9.2 插入排序 9.2.1 直接插入排序 9.2.2 折半插入排序 9.2.3 希尔排序 9.3 交换排序 9.3.1 冒泡排序 9.3.2 快速排序 9.4 选择排序 9.4.1 简单选择排序 9.4.2 堆排序 9.5 归并排序 9.6...

    严蔚敏 数据结构(C语言版) 代码 23490 书中算法

    8.1 基本概念和排序方法概述 207 8.1.1 排序的基本概念 207 8.1.2 排序方法的分类 208 8.1.3 待排序记录的存储方式 208 8.1.4 排序算法效率的评价指标 209 8.2 插入排序 209 8.2.1 直接插入排序 209 ...

    java——让学员少走弯路

    Java的一些基本概念,Java的起源、为什么我们要学习Java语言,Java跨平台原理剖析;Java环境变量的配置,初学者常犯的问题,Java语言的基本数据类型和Java的语句。 Java中包的概念,类的说明符、方法的说明符、对象...

    数据结构—使用C语言(第4版)【朱战立-电子教案】

    数据结构的基本概念 抽象数据类型和软件构造方法 算法和算法的时间复杂度 【第2章】 线性表 线性表抽象数据类型 顺序表 单链表 循环单链表 循环双向链表 静态链表 设计举例 【第3章】 堆栈和队列 堆栈 堆栈应用 ...

    数据结构——线性表

    该文件包括各种线性表的头文件,另外还实现了简单单链表、简单顺序线性表、从A链表中删除B和C链表共有的元素、单链表逆置(以整数为例)、将链表中元素按递增排序并删除所选定范围内的元素、求一个新的集合A为A和B的...

    数据结构与算法课程设计——航班查询系统

    3.2基本设计概念和处理流程 6 3.3存储结构设计 8 第四章 详细设计 9 4.1程序设计说明 9 4.2算法设计与分析 9 4.2.1基数排序: 9 4.2.2二分查找 9 4.3算法实现 10 4.4函数说明 10 第五章 测试 11 5.1核心算法复杂性...

    面向对象程序设计课程设计——学生成绩管理系统

    全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法。正确理解掌握C++面向对象程序设计的基本特性:类、对象、继承与派生、多态、虚函数、模板、流类库等。遵循软件过程的各个环节进行系统分析、设计、...

    数据结构讲义(严蔚敏版)(含算法源码).rar

    1. 排序的有关概念 63 2. 直接插入排序 63 3. 折半插入排序 64 4. 希尔排序(缩小增量排序) 64 5. 起泡排序 65 6. 快速排序 66 7. 简单选择排序 67 8. 堆排序 68 9. 归并排序 71 10. 基数排序 72 11. 各种排序方法...

    计算机课程——系统结构答案

    4、什么是透明性概念?对计算机系统结构,下列哪些是透明的?哪些是不透明的?存储器的模m交叉存取;浮点数据表示;I/O系统是采用通道方式还是外围处理机方式;数据总线宽度;字符行运算指令;阵列运算部件;通道是...

    .NET之美:.NET关键技术深入分析

    4.2.1 简单排序——对固定属性的默认排序 4.2.2高级排序——多个属性组合排序 4.2.3 页面调用 4.3本章小结 第5章LINQ 5.1 LINQ预备知识 5.1.1泛型和委托 5.1.2 隐式类型的局部变量 5.1.3 匿名类型 5.1.4...

    C#全能速查宝典

    1.5.22 Sort方法——数组排序 121 1.5.23 Stack类——堆栈 123 第2章 Windows窗体及常用控件 126 2.1 Form窗体 126 2.1.1 AcceptButton属性——设置接受按钮 126 2.1.2 Activate事件——当激活窗体时发生 126 2.1.3...

Global site tag (gtag.js) - Google Analytics