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ś:
- Algorytm sortowania przez wstawianie
- Algorytm sortowania przez wybór
- Algorytm sortowania bąbelkowego
- Algorytm sortowania przez scalanie
- Szybkie sortowanie algorytm
- Algorytm wyszukiwania binarnego
- Algorytm Breadth First Search (BFS)
- Depth First Search (DFS) alg orithm
- Najdłuższa rosnąca kolejność
- Algorytm Bellmana-Forda
- Algorytmy przechodzenia drzewa w zamówieniu, przedsprzedaż i Postorder
- Algorytm sortowania stosu
- Algorytm Kruskala do znajdowania minimalnego drzewa rozpinającego
- Algorytm Dijkstry
- Algorytm Prima
- Algorytm Floyda – Warshalla
- Algorytm Johnsona
- Algorytm Hopcrofta-Karpa
- Algorytm Edmondsa-Karpa
- Algorytm Forda-Fulkersona
- Algorytm Kargera
- Algorytm najkrótszej ścieżki euklidesowej
- Algorytm odwrotnego usuwania
- Algorytm wyszukiwania A *
- Algorytm cofania
- Wyszukiwanie wiązki algorytm
- algorytm D *
- algorytm wyszukiwania siłowego
- algorytm SSS *
- algorytm F *
- Iteracyjne pogłębianie Algorytm pierwszego wyszukiwania w głębi
- Algorytm Brona-Kerboscha
- Algorytm maksymalnej kliki MaxCliqueDyn
- Algorytm silnie połączonych komponentów Tarjana
- Kosaraju „s algorytm
- Hamminga algorytm obliczania odległości
- 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:
- Skończoność: Algorytm MOŻE być nieograniczony, ale kroki muszą się kończyć, tj. liczba kroków w algorytmie jest zawsze skończona.
- Określoność: Określoność oznacza: „Każdy krok musi być prawidłowo i dokładnie zdefiniowane ”.
- 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.
- Dane wyjściowe lub dane wyjściowe: podobnie jak liczba wejść, z tym że algorytm musi mieć co najmniej jedno wyjście.
- 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.