Vad är det bästa sättet att förstå algoritmer?


Bästa svaret

Det bästa sättet enligt min mening att förstå algoritmer är att dissekera en algoritm åt gången.

Målet här är att lösa ett större problem genom att dela det i mindre mer hanterbara problem. Ju fler algoritmer du förstår genom att dissekera dem desto bättre blir du.

Här är den grova definitionen av en algoritm :

En algoritm är en uppsättning av instruktioner utformade för att utföra en specifik uppgift.

Det finns bokstavligen tusentals algoritmer i många fält som beräkningsmatematik som omfattar både ämnena matematik och datavetenskap, astronomi, bioinformatik, geovetenskap, lingvistik, medicin, fysik, statistik och många fler !!

Här är några algoritmer som är extremt användbara till dags dato:

  1. Sorteringsalgoritm
  2. Sorteringsalgoritm
  3. Bubbelsorteringsalgoritm
  4. Sammanfoga Sorteringsalgoritm
  5. Snabbsort algoritm
  6. Binär sökalgoritm
  7. BFS-algoritm för bredd först sökning
  8. DFS första sökning (DFS) alg oritm
  9. Längsta ökande följd
  10. Bellman – Ford-algoritm
  11. Beställning, förbeställning, efterbeställning Trädgenomgång algoritmer
  12. Heap Sorteringsalgoritm
  13. Kruskals algoritm för att hitta minsta spännande träd
  14. Dijkstras algoritm
  15. Prims algoritm
  16. Floyd – Warshall algoritm
  17. Johnsons algoritm
  18. Hopcroft – Karp algoritm
  19. Edmonds – Karp algoritm
  20. Ford – Fulkerson algoritm
  21. Kargers algoritm
  22. Euklidisk algoritm med kortast väg
  23. Omvänd radera-algoritm
  24. En * sökalgoritm
  25. Backtracking-algoritm
  26. Strålsökning algoritm
  27. D * algoritm
  28. Brute-force sökalgoritm
  29. SSS * algoritm
  30. F * algoritm
  31. Iterativ fördjupning Djup Första sökalgoritmen
  32. Algoritmen Bron – Kerbosch
  33. MaxCliqueDyn algoritm för maximal klick
  34. Tarjans starkt anslutna komponentalgoritm
  35. Kosaraju ”s algoritm
  36. Hamming distansberäkningsalgoritm
  37. Sparsamt distribuerat minnesberäkningsalgoritm som var ett genombrott för att lösa KNN- eller postkontorsproblem som var ett närmaste problem med optimeringssökningen.

Jag kan gå på men du förstår poängen. Alla dessa kan verka lite skrämmande men om du väljer en först och väljer att ägna tid åt att förstå den. dela upp en valfri algoritm i mindre sektioner för att förstå, då ger den dig en motivation med en kraft som du också kan lösa ett problem som algoritmen löser. Ditt sinne fylls med intelligensglädje. Och du undrar vilket verkligt problem du kan lösa genom att tillämpa det du lärde dig. Jag antar att jag avviker.

För att bättre förstå några av dem måste du förbereda dig för att tänka som om du är den som gör uppgifterna.

Om datavetenskapens framtid är ett oändligt vävt tygstycke med många färger och andra egenskaper som dekorationer och pärlor och vad som helst, så algoritmer är trådarna som knyter ihop allt.

Här är ett citat från Donald Knuth,

Något magiskt vackert händer när en sekvens av kommandon och beslut kan samla en datainsamling i organiserad mönster eller för att upptäcka dold struktur.

Har du någonsin försökt att följa ett recept? Om du har så har du förstått algoritmer, nu är det dags att få datorn att förstå dem också!

De flesta av datavetenskapens problem är matematiska problem. Så du måste förstå att lösa matematiska problem, om du vill förnya dig inom datavetenskapens värld.

Det finns några egenskaper för alla algoritmer du möter, de är som följer:

  1. Ändlighet: En algoritm KAN vara obegränsad men stegen måste avslutas, dvs antalet steg i en algoritm är alltid begränsad.
  2. Definitet: Definitet betyder: ”Varje steg måste vara korrekt och exakt definierad ”.
  3. Ingångar eller ingångar: Den här är självförklarande. Även om en algoritm inte tar någon ingång kan vi säga att den är 0-ingång.
  4. Utdata eller utgångar: Precis som antalet ingångar, förutom att en algoritm måste ha minst en utgång.
  5. Effektivitet: De operationer som är involverade i en algoritm måste vara mätbara för att jämföra effektiviteten eller effektiviteten hos de jämförda algoritmerna. Generellt är den tid och det utrymme som en algoritm upptar ett rättvist mått på algoritmens effektivitet.

Om du har några andra frågor, släpp ett meddelande!

Fram till nästa gång! Håll dig säker, var försiktig!

✍Ezaz Akhtar!

Svar

lär dig först ett programmeringsspråk

Jag föredrar Python som en bra förrätt. Det är lätt att koda och många inbyggda metoder ingår. använd python och börja lösa pussel som pussel på Hckerranks webbplats.

Att använda algoritm är det enklaste sättet att förstå dem.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *