Als «algorithms» getaggte Fragen

Ein Algorithmus ist eine Folge genau definierter Schritte, die eine abstrakte Lösung für ein Problem definieren. Verwenden Sie dieses Tag, wenn Ihr Problem mit dem Entwurf und der Analyse von Algorithmen zusammenhängt.

122
Warum kann ich eine Grafik betrachten und sofort den nächstgelegenen Punkt zu einem anderen Punkt finden, aber ich benötige O (n) Zeit für die Programmierung?

Lassen Sie mich erklären: Wenn ich bei einem Streudiagramm mit einer bestimmten Anzahl von Punkten n mental den nächsten Punkt zu einem beliebigen Punkt im Diagramm finden möchte, kann ich die meisten Punkte im Diagramm sofort ignorieren und meine Auswahl auf eine kleine, konstante Anzahl von...

105
So täuschen Sie die Heuristik „probieren Sie einige Testfälle aus“: Algorithmen, die korrekt erscheinen, aber tatsächlich falsch sind

Um zu testen, ob ein Algorithmus für ein Problem korrekt ist, versuchen Sie in der Regel, den Algorithmus für eine Reihe einfacher Testfälle von Hand auszuführen. Versuchen Sie es an einigen Beispiel-Problemfällen, einschließlich einiger einfacher Eckfälle ". Dies ist eine großartige Heuristik: Es...

82
Quicksort-Partitionierung: Hoare vs. Lomuto

Es gibt zwei QuickSort-Partitionsmethoden, die in Cormen erwähnt werden: Hoare-Partition(A, p, r) x = A[p] i = p - 1 j = r + 1 while true repeat j = j - 1 until A[j] <= x repeat i = i + 1 until A[i] >= x if i < j swap( A[i], A[j] ) else return j und: Lomuto-Partition(A, p, r) x = A[r] i =...

52
Was ist Schwanzrekursion?

Ich kenne das allgemeine Konzept der Rekursion. Beim Studium des Quicksort-Algorithmus bin ich auf das Konzept der Schwanzrekursion gestoßen. In diesem Video von Quick Sort Algorithmus vom MIT um 18:30 Sekunden sagt der Professor, dass dies ein rekursiver Schwanzalgorithmus ist. Mir ist nicht klar,...