/*
實現乙個排序演算法,對某公司員工年齡進行排序,要求時間效率為o(n)。
可以使用輔助空間。只允許使用常量大小輔助空間,不得超過o(n)。
*/#include using namespace std;
void agesort(int* arr, int length)
for(int i=0; ioldestage)
throw new std::exception("age out of range.");
++timeofage[i];
} int index = 0;
for(int i=0; i<=oldestage; ++i) //根據每個年齡出現的次數,給arr陣列賦值,
{ //此時已經是排序好的數列
for(int j=0; j
==參考劍指offer
公司員工效率不高的原因有哪些?
乙個公司員工效率不高的原因有很多,比如公司各項工作流程分配是否合理 公司各項制度是否完善 各項工作的監管是否到位等等,不管受哪方面的影響,都會引起公司員工辦公效率低下。想要解決公司員工效率不高的問題,就要找對方法和對策。作為管理者要監管員工各項任務的完成情況,員工之間也可以相互跟進工作任務的進展,促...
排序 時間複雜度為O n 的三種排序演算法
這三種排序演算法分別是桶排序 計數排序和基數排序,之所以它們的時間複雜度能到達o n 是因為它們都是非基於比較的排序演算法,不涉及元素之間的比較操作。1 桶排序 1.1 原理 將待排資料元素分配到幾個有序的桶中,然後對每個桶中的資料元素分別進行排序,每個桶中的資料元素有序後按桶的順序將資料元素依次取...
基於比較的快速排序 時間複雜度為O nlogn
快速排序 快排利用的是分治思想。如果要排序陣列中下標從 p 到 r 之間的一組資料,選擇p 到 r 之間的任意乙個資料作為分割槽點pivot。遍歷 p 到 r 之間的資料,將小於pivot的放到左邊,將大於pivot的放到右邊,將pivot放到中間。經過這一步驟後陣列 p 到 r 之間的資料就被分為...