最も頻繁に発生する要素のソートされた配列を検索するO(n)アルゴリズムの疑似コードを作成しようとしています。最も一般的な項目のO(n)線形検索
データ構造やアルゴリズムには新しく、私は約2年半かけてコード化していません。私は主題の周りのいくつかの読書をして、私はコンセプトをつかんでいると信じていますが、私は上記の問題に苦しんでいます。
これは私がこれまで行ってきたことですが、アルゴリズムをO(n^2)と思って、私はどうしたらいいのか分かりません。複数の頻繁に発生する要素を扱う。
私はどこに助けを得ることができるかについての助けや指示は非常に高く評価されるでしょう。
A=[i];
Elem=0;
Count=0;
For (i=0; j< A[n-1]; j++);
tempElem=A[j];
empCount=0;
for(p=0; p<A[n-1; p++])
If(A[p]==tempElem)
tempCount++:
if(tempCount>Count);
Elem==tempElem:
Count=tempCount;
Print(“The most frequent element of array A is”: Elem “as it appears” Count “times”)
ヒント:配列がすでにソートされている場合、なぜ0で 'p'を開始していますか?配列がすでにソートされていることがわかっている場合は、同様の項目が常に互いに隣り合っていることがわかります。 –