演算法設計: 可以定義陣列來儲存資料,之後用陣列count來統計資料出現的頻數。可以用迴圈的巢狀兩次for迴圈讓陣列中的每乙個資料和另外的資料比較,相同則對應的count陣列的值加1,實現頻數統計。然後,可以for迴圈遍歷count陣列找到最大值,記下下標,即是眾數的下標。
**如下:
#include#includeusing namespace std;
int main()
for (int i = 0; i < m; i++) }
int max = count[0], flag = 0;
for (int k = 1; k < m; k++) }
//cout << a[flag] << " " << count[flag] << endl;
cout << "眾數為:";
for (int i = 0; i < m; i++)
cout << "重數為:" << count[flag];
return 0;
}
測試如下圖:
詳情參考:
c 找眾數及其重數
問題描述 在乙個由n個元素組成的表中,出現次數最多的元素被稱為眾數。試寫乙個尋找眾數及其重數的有效演算法,並分析其計算時間複雜性。方法 1.首先用快排把資料排個序 2.再使用find方法找出眾數及其重數 注 這裡第一步就跳過了,因為快排可以調庫函式,這裡主要是測試一下find方法的正確性。如下 in...
演算法設計與分析之眾數和重數
給定含有n個元素的多重集合s,每個元素在s中的次數稱為該元素的重數。多重集s中重數最大的元素稱為眾數。例如,s 眾數為2,其重數為3。任務 對於給定的由n個自然數組成的多重數集s,程式設計計算s的眾數及其重數。將第乙個數作為軸值,對序列進行分割,得到兩個子串行 不包括軸值 並統計出現次數cout 如...
分治演算法 求眾數及其重數
問題描述 給定含有 n 個元素的多重集合 s,每個元素在 s 中出現的次數稱為該元素的重數。多重集合 s 中重數最大的素稱為眾數。例如多重集合 s 其中眾數是 2,其重數為 3。用分治法設計並實現在多重集合中找眾數及其重數的演算法,要求演算法的時間複雜性在壞情況下不超過 o nlogn 方法一 窮舉...