首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

请教哪些排序算法的时间复杂度为n?(笔试题)

2012-04-18 
请问哪些排序算法的时间复杂度为n?(笔试题)我写了堆排序,不过貌似堆排序是nlogn。时间复杂度为n与时间复杂

请问哪些排序算法的时间复杂度为n?(笔试题)
我写了堆排序,不过貌似堆排序是nlogn。时间复杂度为n与时间复杂度为nlogn是不是一样的?网上查了只有计数排序算法复杂度为n

[解决办法]
桶排序和基数排序是不是也是n来着?
[解决办法]
当n足够大,nlogn 近似看作 n。

好比当alpha足够小,sin alpha = tan alpha。
[解决办法]
凡基于比较排序的算法都是O(nlgn)(大O中有一横),计数排序为O(n)吧,基数排序要也和计数差不多,只不多多几趟而已。
[解决办法]

[解决办法]
内部排序没有O(n)的算法吧。
[解决办法]
类似于hash这样的吧,遍历一次就搞掂
[解决办法]
基数排序不是o(n)...
[解决办法]
桶排序 (bucket sort)— O(n); 需要 O(k) 额外空间 
计数排序 (counting sort) — O(n+k); 需要 O(n+k) 额外空间 
鸽巢排序 (Pigeonhole sort) — O(n+k); 需要 O(k) 额外空间
珠排序(Bead sort) — O(n) or O(√n), 但需要特别的硬件

热点排行