数据结构-8.6排序

数据结构-8.6排序

前言-数据结构

数据结构是需要反复咀嚼,不管什么时候都可以重中获取现在在开发中的遇到的问题答案。

基数排序

  • 定义

  • 采用“分配”和“收集”的办法,用对多关键码进行排序的思想实现对单关键码进行排序的方法。

  • 算法步骤

  • 具体实现时,基数排序包含分配和收集,分配是将第k (1≤k≤d) 个排序码相同素放到一个队列中(按第k个排序码排序),收集是得到这一趟的排序结果。

  • 例子
    在这里插入图片描述

  • 计算机存储过程
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 性能分析
  • 在基数排序的过程中,对于记录的个数为m,各记录的关键字位数为d,每一位有r种取值的待排序序列,其时间复杂度为O(d(n+r))。而每一趟分配的时间复杂度为O(n),每一次收集的时间复杂度为O®。
  • 所需要的辅助空间为2r个链表指针及n个指针域空间,所以其空间复杂度为O(n+2r))。
  • 基数排序是稳定的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值