Hvad er den bedste måde at forstå algoritmer på?


Bedste svar

Den bedste måde efter min mening at forstå algoritmer skal dissekere en algoritme ad gangen.

Målet her er at løse et større problem ved at opdele det i mindre og mere håndterbare problemer. Jo flere algoritmer du forstår ved at dissekere dem, jo ​​bedre bliver du.

Her er den grove definition af en algoritme :

En algoritme er en sæt af instruktioner designet til at udføre en specifik opgave.

Der er bogstaveligt talt tusindvis af algoritmer i mange felter som beregningsmatematik, der omfatter både emnerne matematik og datalogi, astronomi, bioinformatik, geovidenskab, lingvistik, medicin, fysik, statistik og mange flere !!

Her er et par algoritmer, der er yderst nyttige indtil dato:

  1. Sorteringsalgoritme
  2. Sorteringsalgoritme
  3. Sorteringsalgoritme
  4. Flet sorteringsalgoritme
  5. Quicksort algoritme
  6. Binær søgealgoritme
  7. BFS-algoritme (Breadth First Search)
  8. DFS (Alg. dybde første søgning) oritme
  9. Længst voksende efterfølgende
  10. Bellman – Ford algoritme
  11. Forordre, forudbestille, efterordne træ gennemgange algoritmer
  12. Heap Sorter algoritme
  13. Kruskals algoritme til at finde minimum spændende træ
  14. Dijkstras algoritme
  15. Prims algoritme
  16. Floyd – Warshall algoritme
  17. Johnsons algoritme
  18. Hopcroft – Karp algoritme
  19. Edmonds – Karp algoritme
  20. Ford – Fulkerson algoritme
  21. Kargers algoritme
  22. Euklidens korteste algoritme
  23. Omvendt sletningsalgoritme
  24. En * søgealgoritme
  25. Backtrackingsalgoritme
  26. Strålesøgning algoritme
  27. D * algoritme
  28. Brute-force søgealgoritme
  29. SSS * algoritme
  30. F * algoritme
  31. Iterativ uddybning Dybde Første søgealgoritme
  32. Bron – Kerbosch algoritme
  33. MaxCliqueDyn maksimal klikalgoritme
  34. Tarjans stærkt forbundne komponentalgoritme
  35. Kosaraju “s algoritme
  36. Hamming afstandsberegningsalgoritme
  37. Spredt distribueret hukommelsesberegningsalgoritme, som var et gennembrud til løsning af KNN eller post-office problem, som var et nærmeste nabo-søgning optimeringsproblem.

Jeg kan gå på men du forstår pointen. Alle disse kan virke lidt skræmmende, men hvis du vælger en i starten og vælger at bruge tid på at forstå den. opdele en algoritme efter eget valg i mindre sektioner til forståelse, så giver det dig en motivation med en styrke, som du også kan løse et problem, som algoritmen løser. Dit sind fyldes med intelligensglæde. Og du spekulerer på, hvilket problem i det virkelige liv du kan løse ved at anvende det, du har lært. Jeg antager, at jeg afviger.

Nå, for bedre at forstå nogle af dem er du nødt til at forberede dig på at tænke som om du er den, der er den, der udfører opgaverne.

Hvis fremtiden inden for datalogi er et uendeligt vævet stykke tøj med mange farver og andre egenskaber som dekorationer og perler og hvad der ikke er, så algoritmer er de tråde, der binder alt sammen.

Her er et citat fra Donald Knuth,

Der sker noget magisk smukt, når en række af kommandoer og beslutninger er i stand til at samle en samling af data i organiseret mønstre eller opdage skjult struktur.

Har du nogensinde prøvet at følge en opskrift? Hvis du har det, har du forstået algoritmer, nu er det din tid at få computeren til at forstå dem også!

De fleste af problemerne inden for datalogi er matematiske problemer. Så du skal forstå løsningen af ​​matematiske problemer, hvis du ønsker at innovere i computervidenskabens verden.

Der er et par egenskaber for hver algoritme, du står over for, de er som følger:

  1. Endelighed: En algoritme KAN være ubegrænset, men trinene skal afsluttes, dvs. antallet af trin i en algoritme er altid endelig.
  2. Definitet: Definitet betyder: “Hvert trin skal være korrekt og nøjagtigt defineret ”.
  3. Input eller input: Denne er ret selvforklarende. Selvom en algoritme ikke tager noget input, kan vi sige, at det er 0 input.
  4. Output eller output: Ligesom antallet af input, bortset fra at en algoritme skal have mindst en output.
  5. Effektivitet: Operationer involveret i en algoritme skal kunne måles for at sammenligne effektiviteten eller effektiviteten af ​​de sammenlignede algoritmer. Generelt er den tid og plads, som en algoritme optager, et rimeligt mål for algoritmens effektivitet.

Hvis du har andre spørgsmål, så send en besked!

Indtil næste gang! Bliv sikker, pas på!

✍Ezaz Akhtar!

Svar

Lær først et programmeringssprog

Jeg foretrækker Python som en god starter. Det er let at kode og mange indbyggede metoder er inkluderet. brug python og start med at løse gåder såsom gåder på Hckerrank-webstedet.

Brug af algoritme er den nemmeste måde at forstå dem på.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *