第22讲归并和基数排序.pptVIP

  • 14
  • 0
  • 约8.58千字
  • 约 55页
  • 2015-08-16 发布于广东
  • 举报
最低位优先法(LSD):从最低位关键字kd-1起进行排序,然后再对高一位的关键字排序,……依次重复,直至对最高位关键字k0排序后,便成为一个有序序列。 MSD与LSD不同特点 按MSD排序,必须将序列逐层分割成若干子序列,然后对各子序列分别排序。 按LSD排序,不必分成子序列,对每个关键字都是整个序列参加排序;并且可不通过关键字比较,而通过若干次分配与收集实现排序。 链式基数排序 基数排序:借助“分配”和“收集”对单逻辑关键字进行排序的一种方法。 链式基数排序:用链表作存储结构的基数排序。 链式基数排序步骤 设置10个队列,f[i]和e[i]分别为第i个队列的头指针和尾指针。 第一趟分配对最低位关键字(个位)进行,改变记录的指针值,将链表中记录分配至10个链队列中,每个队列记录的关键字的个位相同。 第一趟收集是改变所有非空队列的队尾记录的指针域,令其指向下一个非空队列的队头记录,重新将10个队列链成一个链表。 重复上述两步,进行第二趟、第三趟分配和收集,分别对十位、百位进行,最后得到一个有序序列。 空间复杂度比较 各种排序方法的比较 O(n) 归并排序 O(1) 堆排序 O(1) 简单选择排序 O(log2n) ~O(n) 快速排序 O(1) 起泡排序 O(1) 希尔排序 O(1) 直接插入排序 辅助空间 排序方法 稳定性比较 所有排序方法可分为两类, (1)一类是稳定的,包括直

文档评论(0)

1亿VIP精品文档

相关文档