關於眾數的求解

2021-07-28 03:26:26 字數 899 閱讀 4177

**:

眾數演算法

a) 問題

在乙個由元素組成的表中,出現次數最多的元素稱為眾數。試寫乙個尋找眾數的演算法,並分析其計算複雜性。

眾數演算法

a) 問題

在乙個由元素組成的表中,出現次數最多的元素稱為眾數。試寫乙個尋找眾數的演算法,並分析其計算複雜性。

b) 分析

對於這個問題,比較容易的是使用排序的演算法,對元素表進行排序,然後統計元素出現的個數,得出眾數。則這個問題的平均時間複雜度取決於排序演算法。

對於n個分布在m1~m2的整數元素,我們可以用乙個陣列來索引這些元素出現的個數。這樣的話,對n個原始資料遍歷,然後再遍歷計數陣列,複雜度為o( n + m ) = o ( n )。

顯然,如果 |太大的話,對空間的要求會非常大。所以綜合兩種演算法。

當 的時候,我們採用索引陣列的辦法。

其他情況採用排序的演算法。

c) 程式設計實現

眾數演算法:

/** 在乙個元素組成的表中,出現次數最多的元素稱為眾數

* 試寫乙個尋找眾數的演算法,並分析其計算複雜性。

*/public class mostnumber

}system.out.println("");

//取最小值

for(int i=0; i<100; i++)

}//編碼核心部分;

if( (m2-m1) 

//求眾數

int maxcount=0, index = 0;

for(int i=0; imaxcount)

}system.out.println("方法1:結果");

for(int i=0;i<100;i++)

system.out.println("方法1:眾數為 "+(index+m1));

}

關於素數的求解

質數 prime number 又稱素數,有無限個。乙個大於1的自然數,除了1和它本身外,不能被其他自然數整除,換句話說就是該數除了1和它本身以外不再有其他的 因數。求解整數n之前的所有素數及總數 include stdio.h include math.h int main if c sqrt i...

關於求解p x mod q的問題

如題,其中p和q都是素數,而x是數值十分大的合數,則p x mod q的一種解法可為 第一步,可把x寫成a b的形式,即p x p a b,其中p a是可以通過簡單的人為計算得出的並且滿足p a q,設c p a,則p x通過降次得到c b 第二步,把c展開,寫成c dq e的形式,則c b dq ...

關於logstash的坑,求解

這兩天出現乙個小事故,是logstash讀取檔案資訊輸出到kafka,因為topic沒有建立,而導致所有的topic都沒有資料。先將配置檔案列出來。input filter add tag result tag on failure grok add tag phone tag on failure...