zoukankan      html  css  js  c++  java
  • 排序

    排序算法常用的有:

    1、插入排序(直接插入排序、折半插入排序、希尔排序);
    2、交换排序(起泡排序、快速排序);
    3、选择排序(直接选择排序、堆排序);
    4、归并排序;
    5、基数排序;

     

    排序方法的分类

    1.按是否涉及数据的内、外存交换分

         在排序过程中,若整个文件都是放在内存中处理,排序时不涉及数据的内、外存交换,则称之为内部排序(简称内排序);反之,若排序过程中要进行数据的内、外存交换,则称之为外部排序
      注意:
         ① 内排序适用于记录个数不很多的小文件
         ② 外排序则适用于记录个数太多,不能一次将其全部记录放人内存的大文件。

    2.按策略划分内部排序方法
         可以分为五类:插入排序、选择排序、交换排序、归并排序和分配排序。

     

    待排文件的常用存储方式
    (1) 以顺序表(或直接用向量)作为存储结构
        排序过程:对记录本身进行物理重排(即通过关键字之间的比较判定,将记录移到合适的位置)

    (2) 以链表作为存储结构
      排序过程:无须移动记录,仅需修改指针。通常将这类排序称为链表(或链式)排序;

    (3) 用顺序的方式存储待排序的记录,但同时建立一个辅助表(如包括关键字和指向记录位置的指针组成的索引表)
      排序过程:只需对辅助表的表目进行物理重排(即只移动辅助表的表目,而不移动记录本身)。适用于难于在链表上实现,仍需避免排序过程中移动记录的排序方法。

     

  • 相关阅读:
    CF Round 594
    [转载]CSP-J/S 第一轮知识点选讲
    10.17 模拟赛
    10.16 模拟赛
    10.15模拟赛
    10.14模拟赛
    10.12 模拟赛
    Peaks Gym 100365H
    手写Bitset优化
    Sums gym100753M
  • 原文地址:https://www.cnblogs.com/finger/p/2559112.html
Copyright © 2011-2022 走看看