请问哪些排序算法的时间复杂度为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), 但需要特别的硬件