Jaki jest najlepszy sposób zrozumienia algorytmów?


Najlepsza odpowiedź

Moim zdaniem najlepszy sposób na zrozumienie algorytmów służy do analizy jednego algorytmu na raz.

Celem jest rozwiązanie większego problemu poprzez podzielenie go na mniejsze, łatwiejsze do rozwiązania. Im więcej algorytmów zrozumiesz, analizując je, tym lepszym staniesz się.

Oto przybliżona definicja algorytmu :

Algorytm to zestaw instrukcje przeznaczone do wykonania zadania określonego.

Istnieją dosłownie tysiące algorytmów w wielu dziedzinach, takich jak matematyka obliczeniowa obejmująca zarówno przedmioty matematyczne, jak i informatyczne, astronomię, bioinformatykę, geologię, językoznawstwo, medycynę, fizykę, statystykę i wiele innych !!

Oto kilka algorytmów, które są niezwykle przydatne do dziś:

  1. Algorytm sortowania przez wstawianie
  2. Algorytm sortowania przez wybór
  3. Algorytm sortowania bąbelkowego
  4. Algorytm sortowania przez scalanie
  5. Szybkie sortowanie algorytm
  6. Algorytm wyszukiwania binarnego
  7. Algorytm Breadth First Search (BFS)
  8. Depth First Search (DFS) alg orithm
  9. Najdłuższa rosnąca kolejność
  10. Algorytm Bellmana-Forda
  11. Algorytmy przechodzenia drzewa w zamówieniu, przedsprzedaż i Postorder
  12. Algorytm sortowania stosu
  13. Algorytm Kruskala do znajdowania minimalnego drzewa rozpinającego
  14. Algorytm Dijkstry
  15. Algorytm Prima
  16. Algorytm Floyda – Warshalla
  17. Algorytm Johnsona
  18. Algorytm Hopcrofta-Karpa
  19. Algorytm Edmondsa-Karpa
  20. Algorytm Forda-Fulkersona
  21. Algorytm Kargera
  22. Algorytm najkrótszej ścieżki euklidesowej
  23. Algorytm odwrotnego usuwania
  24. Algorytm wyszukiwania A *
  25. Algorytm cofania
  26. Wyszukiwanie wiązki algorytm
  27. algorytm D *
  28. algorytm wyszukiwania siłowego
  29. algorytm SSS *
  30. algorytm F *
  31. Iteracyjne pogłębianie Algorytm pierwszego wyszukiwania w głębi
  32. Algorytm Brona-Kerboscha
  33. Algorytm maksymalnej kliki MaxCliqueDyn
  34. Algorytm silnie połączonych komponentów Tarjana
  35. Kosaraju „s algorytm
  36. Hamminga algorytm obliczania odległości
  37. Rzadki algorytm obliczania pamięci rozproszonej, który był przełomem w rozwiązaniu problemu KNN lub Post-Office, który był problemem optymalizacji wyszukiwania najbliższego sąsiada.

Mogę iść ale, rozumiesz. Wszystko to może wydawać się trochę onieśmielające, ale jeśli najpierw wybierzesz jedną z nich i zdecydujesz się poświęcić czas na zrozumienie. dzieląc wybrany algorytm na mniejsze sekcje w celu zrozumienia, daje to motywację z mocą, która pozwala również rozwiązać problem rozwiązany przez algorytm. Twój umysł wypełnia radość inteligencji. Zastanawiasz się, jaki problem w życiu możesz rozwiązać, stosując to, czego się nauczyłeś. Chyba odchodzę.

Cóż, aby lepiej zrozumieć niektóre z nich, musisz przygotować się na myślenie, jakbyś był tym, który wykonuje zadania.

Jeśli przyszłością informatyki jest nieskończenie tkany kawałek materiału, który ma wiele kolorów i innych cech, takich jak dekoracje, koraliki i tak dalej, to algorytmy to nici, które łączą wszystko w całość.

Oto cytat Donalda Knutha,

Coś magicznie pięknego dzieje się, gdy sekwencja poleceń i decyzji jest w stanie zorganizować zbiór danych w wzory lub odkryć ukrytą strukturę.

Czy kiedykolwiek próbowałeś zastosować się do przepisu? Jeśli rozumiesz algorytmy, teraz nadszedł czas, aby komputer też je zrozumiał!

Większość problemów informatyki to problemy matematyczne. Musisz więc zrozumieć rozwiązywanie problemów matematycznych, jeśli chcesz wprowadzać innowacje w świecie informatyki.

Istnieje kilka właściwości każdego algorytmu, z którym się spotkasz, są one następujące:

  1. Skończoność: Algorytm MOŻE być nieograniczony, ale kroki muszą się kończyć, tj. liczba kroków w algorytmie jest zawsze skończona.
  2. Określoność: Określoność oznacza: „Każdy krok musi być prawidłowo i dokładnie zdefiniowane ”.
  3. Dane wejściowe lub dane wejściowe: to dość oczywiste. Nawet jeśli algorytm nie przyjmuje żadnych danych wejściowych, możemy powiedzieć, że jest to 0 danych wejściowych.
  4. Dane wyjściowe lub dane wyjściowe: podobnie jak liczba wejść, z tym że algorytm musi mieć co najmniej jedno wyjście.
  5. Skuteczność: Operacje zaangażowane w algorytm muszą być mierzalne w celu porównania skuteczności lub wydajności porównywanych algorytmów. Ogólnie rzecz biorąc, ilość czasu i miejsca, które zajmuje algorytm, jest rzetelną miarą jego wydajności.

Jeśli masz inne pytanie, zostaw wiadomość!

Do następnego razu! Bądź bezpieczny, uważaj!

✍Ezaz Akhtar!

Odpowiedź

Najpierw naucz się języka programowania

Wolałbym Pythona jako dobry starter. Jest łatwy w kodowaniu i zawiera wiele wbudowanych metod. użyj Pythona i zacznij rozwiązywać łamigłówki, takie jak łamigłówki w witrynie Hckerrank.

Korzystanie z algorytmu to najłatwiejszy sposób ich zrozumienia.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *