Was ist der beste Weg, um Algorithmen zu verstehen?


Beste Antwort

Meiner Meinung nach der beste Weg, um Algorithmen zu verstehen soll jeweils einen Algorithmus sezieren.

Ziel ist es, ein größeres Problem zu lösen, indem es in kleinere, besser handhabbare Probleme unterteilt wird. Je mehr Algorithmen Sie durch Zerlegen verstehen, desto besser werden Sie.

Hier ist die grobe Definition eines -Algorithmus :

Ein -Algorithmus ist eine Menge von Anweisungen zur Ausführung einer spezifischen Aufgabe.

Es gibt buchstäblich Tausende von Algorithmen in vielen Bereichen wie Computermathematik, die sowohl die Fächer Mathematik und Informatik, Astronomie, Bioinformatik, Geowissenschaften, Linguistik, Medizin, Physik, Statistik und vieles mehr umfasst !!

Hier sind einige Algorithmen, die bis heute äußerst nützlich sind:

  1. Einfügesortieralgorithmus
  2. Auswahlsortieralgorithmus
  3. Blasensortieralgorithmus
  4. Sortieralgorithmus zusammenführen
  5. Quicksort Algorithmus
  6. Binary Search-Algorithmus
  7. BFS-Algorithmus (Breadth First Search)
  8. DFS (Depth First Search) alg Orithmus
  9. Längste ansteigende Folge
  10. Bellman-Ford-Algorithmus
  11. Algorithmen für Inorder-, Preorder- und Postorder-Tree-Traversals
  12. Heap-Sortieralgorithmus
  13. Kruskals Algorithmus zum Finden des Minimum Spanning Tree
  14. Dijkstra-Algorithmus
  15. Prims Algorithmus
  16. Floyd-Warshall-Algorithmus
  17. Johnsons Algorithmus
  18. Hopcroft-Karp-Algorithmus
  19. Edmonds-Karp-Algorithmus
  20. Ford-Fulkerson-Algorithmus
  21. Karger-Algorithmus
  22. Euklidischer Algorithmus für den kürzesten Weg
  23. Algorithmus zum Rückwärtslöschen
  24. Ein * Suchalgorithmus
  25. Backtracking-Algorithmus
  26. Strahlensuche Algorithmus
  27. D * -Algorithmus
  28. Brute-Force-Suchalgorithmus
  29. SSS * -Algorithmus
  30. F * -Algorithmus
  31. Iterative Vertiefungstiefe Erster Suchalgorithmus
  32. Bron-Kerbosch-Algorithmus
  33. MaxCliqueDyn-Maximalclique-Algorithmus
  34. Tarjans stark verbundener Komponentenalgorithmus
  35. Kosaraju „s Algorithmus
  36. Hamming Entfernungsberechnungsalgorithmus
  37. Sparse-Algorithmus zur Berechnung des verteilten Speichers, der ein Durchbruch bei der Lösung des KNN- oder Post-Office-Problems war, bei dem es sich um ein Optimierungsproblem bei der Suche nach dem nächsten Nachbarn handelte.

Ich kann gehen auf, aber Sie bekommen den Punkt. All dies mag ein wenig einschüchternd erscheinen, aber wenn Sie sich zuerst für eines entscheiden und Zeit investieren, um es zu verstehen. Wenn Sie einen Algorithmus Ihrer Wahl zum Verständnis in kleinere Abschnitte unterteilen, erhalten Sie eine Motivation mit der Kraft, dass auch Sie ein Problem lösen können, das der Algorithmus löst. Ihr Geist füllt sich mit Freude an Intelligenz. Und Sie fragen sich, welches Problem im wirklichen Leben Sie lösen können, indem Sie das Gelernte anwenden. Ich denke, ich weiche ab.

Nun, um einige von ihnen besser zu verstehen, müssen Sie sich darauf vorbereiten, zu denken, als ob Sie derjenige sind, der die Aufgaben erledigt.

Wenn die Zukunft des Gebiets der Informatik ein unendlich gewebtes Stück Stoff ist, das zahlreiche Farben und andere Eigenschaften wie Dekorationen und Perlen und so weiter aufweist, dann Algorithmen sind die Fäden, die alles zusammenhalten.

Hier ist ein Zitat von Donald Knuth:

Etwas magisch Schönes passiert, wenn eine Folge von Befehlen und Entscheidungen eine Sammlung von Daten in organisierten zusammenfassen kann Muster oder um verborgene Strukturen zu entdecken.

Haben Sie jemals versucht, einem Rezept zu folgen? Wenn Sie dann Algorithmen verstanden haben, ist es jetzt an der Zeit, dass der Computer sie auch versteht!

Die meisten Probleme der Informatik sind mathematische Probleme. Sie müssen also die Lösung mathematischer Probleme verstehen, wenn Sie in der Welt der Informatik innovativ sein möchten.

Es gibt einige Eigenschaften für jeden Algorithmus, mit denen Sie konfrontiert sind:

  1. Endlichkeit: Ein Algorithmus kann unbegrenzt sein, aber die Schritte müssen beendet werden, dh die Anzahl der Schritte in einem Algorithmus ist immer endlich.
  2. Bestimmtheit: Bestimmtheit bedeutet: „Jeder Schritt muss sein richtig und genau definiert “.
  3. Eingabe oder Eingaben: Dies ist ziemlich selbsterklärend. Selbst wenn ein Algorithmus keine Eingabe akzeptiert, können wir ihn als 0 Eingabe bezeichnen.
  4. Ausgabe oder Ausgaben: Genau wie die Anzahl der Eingaben, außer dass ein Algorithmus mindestens eine Ausgabe haben muss.
  5. Effektivität: Die an einem Algorithmus beteiligten Operationen müssen messbar sein, um die Effektivität oder Effizienz der verglichenen Algorithmen vergleichen zu können. Im Allgemeinen ist die Menge an Zeit und Raum, die ein Algorithmus einnimmt, ein angemessenes Maß für die Effizienz dieses Algorithmus.

Wenn Sie weitere Fragen haben, schreiben Sie eine Nachricht!

Bis zum nächsten Mal! Bleib in Sicherheit, pass auf dich auf!

zEzaz Akhtar!

Antwort

lerne zuerst eine Programmiersprache

Ich würde Python als bevorzugen guter Starter. Es ist einfach zu codieren und viele eingebaute Methoden sind enthalten. Verwenden Sie Python und beginnen Sie, Rätsel wie Rätsel auf der Hckerrank-Site zu lösen.

Die Verwendung von Algorithmen ist der einfachste Weg, sie zu verstehen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.