Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Ahoj,
mám vytvořit algoritmus, který najde v poli n vzájemně různých čísel x_1, x_2, ..., x_n optimální prvek.
Ke každému číslu je asociována hodnota w_1, w_2, .... w_n, taková, že platí
A pro ten optimální prvek má platit:

Výsledný algoritmus má mít složitost O(n). Zatím mám takovýto algoritmus, který ale není asi úplně korektní, jelikož bere prvky, které mají index i < k, ale ne x_i < x_k:
proc OptimalElement(arr[])
prevs_w := 0
nexts_w := 0
for (i = 0; i <= n; i++)
{
wi := arr[i].w
nexts_w := 1 - prevs_w - wi
IF (prevs_w < 0,5 && nexts_w <= 0,5) THEN
return arr[i]
ELSE
prevs_w := prevs_w + wi
ENDIF
}
end
Můžete mi poradit? Máte nějaký nápad?
Offline
Stránky: 1