博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
时间复杂度O(n),空间复杂度O(1)的排序
阅读量:6939 次
发布时间:2019-06-27

本文共 355 字,大约阅读时间需要 1 分钟。

题目描述:

如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)

 

解析:

利用计数排序法,设置一大小为65536的int数组,范围a[0]~a[65535],并初始为0,然后遍历n个数,假设这n个数在数组array[0...n-1]中,则i取值从0到n-1同时执行a[array[i]]++,最后再依照顺序读数组a,遇到不为0时,将对应的下标读回数组array,计数是几次就读几次,覆盖原有数,这样得出的array即为排序所求

因为空间复杂度大小已知,为65536,执行循环次数约为n+65536 ,所以其空间复杂度为O(n),空间复杂度O(1),代码略

转载于:https://www.cnblogs.com/biyeymyhjob/archive/2012/09/20/2694762.html

你可能感兴趣的文章
网络安装sles
查看>>
Hadoop-zookeeper
查看>>
学习笔记十三 : dhcp
查看>>
逆转单向链表
查看>>
system
查看>>
Linux(CentOS)下的apache服务器配置与管理
查看>>
Skype for Business Server 2015-04-前端服务器-3-安装-管理工具
查看>>
关于mysql 删除数据后物理空间未释放(转载)
查看>>
CentOS6中httpd-2.2配置(1)
查看>>
Cisco ASA防火墙原地址与目的地址NAT
查看>>
Windows Server 2008 R2修改远程桌面连接数 .
查看>>
基于window.onerror事件 建立前端错误日志
查看>>
WP8开发日志(4):ResourceDictionary的外联
查看>>
[笔记]shell中算术扩展基础
查看>>
python 之中文全攻略
查看>>
MDT2012部署问题,Litetouch.wfs和Litetouch.vbs的区别
查看>>
__init__.py 作用详解
查看>>
puppet安装使用教程(四)--puppet的工作原理及工作过程
查看>>
mysql查询今天、昨天、上周
查看>>
【Composer】实战操作二:自己创建composer包并提交
查看>>