URČENÍ MODU POLE
PROBLÉM
Určete nejčastěji se vyskytující hodnotu ve vzestupně utříděném poli. Tato hodnota se nazývá modus.
ALGORITMUS
Elegantní algoritmus pro výpočet modu pole objevil Griffits.
IMPLEMENTACE
Jednotka: vnitřní funkce
Globální proměnné: vzestupně utříděné pole A. libovolných prvků
Parametr: přirozené číslo N - počet prvků pole A.
Vrací: Dvojici hodnot Modus a Frekvence_výskytu oddělených mezerou
MODE: procedure expose A.
parse arg N
Mode = A.1; Frequence = 1
do J = 2 to N
JmFrequence = J - Frequence
if A.J = A.JmFrequence
then do
Frequence = Frequence + 1; Mode = A.J
end
end
return Mode Frequence
|
PŘÍKLAD
N = 5
A.1 = 1; A.2 = 2; A.3 = 2; A.4 = 3; A.5 = 5
say MODE(N)
exit
MODE: procedure expose A.
...
|
zobrazí 2 2
Literatura
Gehani N., Ada - An Advanced Introduction
Prentice-Hall, Inc. Englewood Cliffs, New Jersey 1983