Cała oryginalna treść jest tworzona po ukraińsku. Nie wszystkie treści zostały jeszcze przetłumaczone. Niektóre posty mogą być dostępne tylko po ukraińsku.Dowiedz się więcej

Czym jest złożoność faktorialna?

Okładka posta: Czym jest złożoność faktorialna?
Ta treść została automatycznie przetłumaczona z ukraińskiego.
Funkcjonalna złożoność - to sytuacja, gdy liczba wariantów lub kombinacji rośnie jak silnia liczby elementów. Innymi słowy, dla n elementów możliwych permutacji n!n!n! (n silnia), co szybko staje się ogromną liczbą nawet przy małych n.
To zjawisko często występuje w kombinatoryce, planowaniu i algorytmach pełnego przeszukiwania. Na przykład, permutacje 5 elementów to 120 wariantów, a dla 10 elementów jest już 3 628 800.
Przykłady z życia codziennego:
  • Permutacje zadań lub tras – planowanie tras dostaw lub zadań w projekcie.
  • Gra w szachy lub łamigłówki – liczba możliwych sekwencji ruchów rośnie niezwykle szybko.
  • Kryptografia – dobór kombinacji lub haseł przy pełnym przeszukiwaniu.
Prosty kod Ruby do demonstracji funkcjonalnej złożoności:
def factorial(n)
  (1..n).reduce(1, :*)
end

(1..10).each do |i|
  puts "n=#{i} - #{factorial(i)} wariantów"
end
Wynik:
n=1 - 1 wariantów
n=2 - 2 wariantów
n=3 - 6 wariantów
n=4 - 24 wariantów
n=5 - 120 wariantów
n=6 - 720 wariantów
n=7 - 5040 wariantów
n=8 - 40320 wariantów
n=9 - 362880 wariantów
n=10 - 3628800 wariantów
=> 1..10
Ten przykład pokazuje, dlaczego funkcjonalna złożoność szybko komplikuje zadanie i czyni bezpośrednie przeszukiwanie wariantów praktycznie niemożliwym.

Ten post nie ma jeszcze żadnych dodatków od autora.

Czym jest eksplozja kombinatoryczna?
28 lip 11:50

Czym jest eksplozja kombinatoryczna?

meme code
meme code@memecode
Co to jest stos mózgowy (brain stack)?
28 lip 19:37

Co to jest stos mózgowy (brain stack)?

meme code
meme code@memecode
Co to jest przepełnienie całkowite?
15 sie 08:28

Co to jest przepełnienie całkowite?

meme code
meme code@memecode
Co to jest plik HAR (HTTP Archive)?
25 sie 18:23

Co to jest plik HAR (HTTP Archive)?

meme code
meme code@memecode
Czym jest Bubble Sort (wyjaśnienie algorytmu)?
16 wrz 18:42

Czym jest Bubble Sort (wyjaśnienie algorytmu)?

meme code
meme code@memecode
Czym jest wzrost eksponencjalny?
16 wrz 18:57

Czym jest wzrost eksponencjalny?

meme code
meme code@memecode
Czym jest NP-trudność?
16 wrz 19:31

Czym jest NP-trudność?

meme code
meme code@memecode
Offset vs Cursor Pagination w Rails: co wybrać i dlaczego
24 wrz 15:22

Offset vs Cursor Pagination w Rails: co wybrać i dlaczego

meme code
meme code@memecode
Czym jest Row Security w PostgreSQL i po co jest to deweloperom Rails?
4 paź 19:06

Czym jest Row Security w PostgreSQL i po co jest to deweloperom Rails?

meme code
meme code@memecode
Czym jest ivar w Ruby / Rails?
19 paź 20:12

Czym jest ivar w Ruby / Rails?

meme code
meme code@memecode
Podstawowe metody uwierzytelniania w API
19 paź 20:26

Podstawowe metody uwierzytelniania w API

meme code
meme code@memecode
Czym różni się OAuth 1 od OAuth 2
19 paź 20:34

Czym różni się OAuth 1 od OAuth 2

meme code
meme code@memecode