Computerwissenschaften

Fragen und Antworten für Studenten, Forscher und Informatiker

11
Warum ist Quicksort in der Praxis besser als andere Sortieralgorithmen?
In einem Standard - Algorithmen Kurs werden wir gelehrt , dass quicksort ist im Durchschnitt und im schlimmsten Fall. Gleichzeitig werden andere Sortieralgorithmen untersucht, die im schlimmsten Fall (wie Mergesort und Heapsort ) und im besten Fall sogar eine lineare Zeit (wie Bubblesort ) sind, jedoch einige zusätzliche Speicheranforderungen haben.O …


29
Warum ist das Aufschreiben mathematischer Beweise fehlerfreier als das Schreiben von Computercode?
Mir ist aufgefallen, dass ich es viel einfacher finde, mathematische Beweise fehlerfrei aufzuschreiben, als ein fehlerfreies Computerprogramm aufzuschreiben. Es scheint, dass dies etwas weiter verbreitet ist als nur meine Erfahrung. Die meisten Leute machen ständig Softwarefehler in ihrer Programmierung und sie haben den Compiler, der ihnen sagt, was der Fehler …


3
Gibt es ein System hinter der Magie der Algorithmusanalyse?
Es gibt viele Fragen zur Laufzeitanalyse von Algorithmen (siehe zB Laufzeitanalyse und Algorithmusanalyse ). Viele sind ähnlich, zum Beispiel diejenigen, die nach einer Kostenanalyse von verschachtelten Schleifen oder Divide & Conquer-Algorithmen fragen, aber die meisten Antworten scheinen maßgeschneidert zu sein. Andererseits erklären die Antworten auf eine andere allgemeine Frage das …

12
Warum ist das Halteproblem wirklich so wichtig?
Ich verstehe nicht, warum das Problem des Anhaltens so oft verwendet wird, um festzustellen, ob ein Programm anhält. Die Wikipedia [article] [1] erklärt zu Recht, dass eine deterministische Maschine mit endlichem Speicher einen vorherigen Zustand anhält oder wiederholt. Sie können den Algorithmus verwenden, der erkennt, ob eine verknüpfte Liste Schleifen …

3
Wie kann entschieden werden, ob eine Ziffernfolge hat?
Wir erhielten die folgende Übung. Lassen f( n ) = { 100n tritt in der dezimalen Darstellung von π aufsonstf(n)={10n occurs in the decimal representation of π0else\qquad \displaystyle f(n) = \begin{cases} 1 & 0^n \text{ occurs in the decimal representation of } \pi \\ 0 & \text{else}\end{cases} Beweisen Sie, dass …

12
Warum gibt es so viele Programmiersprachen?
Ich beherrsche C / C ++ ziemlich fließend und kann mich in den verschiedenen Skriptsprachen (awk / sed / perl) zurechtfinden. Ich habe viel mehr mit Python angefangen, weil es einige der raffinierten Aspekte von C ++ mit den Skriptfunktionen von awk / sed / perl kombiniert. Aber warum gibt …

14
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 Punkten in der Nähe …

6
Ist Kategorietheorie nützlich, um funktionale Programmierung zu lernen?
Ich lerne Haskell und bin fasziniert von der Sprache. Allerdings habe ich keinen ernsthaften Mathe- oder CS-Hintergrund. Aber ich bin ein erfahrener Softwareprogrammierer. Ich möchte Kategorietheorie lernen, damit ich bei Haskell besser werden kann. Welche kategorietheoretischen Themen sollte ich lernen, um eine gute Grundlage für das Verständnis von Haskell zu …

4
Wie konvertiere ich endliche Automaten in reguläre Ausdrücke?
Die Konvertierung regulärer Ausdrücke in (minimale) NFA, die dieselbe Sprache akzeptieren, ist mit Standardalgorithmen, z . B. dem Thompson-Algorithmus, einfach . Die andere Richtung scheint jedoch langweiliger zu sein, und manchmal sind die resultierenden Ausdrücke chaotisch. Welche Algorithmen gibt es, um NFA in gleichwertige reguläre Ausdrücke umzuwandeln? Gibt es Vorteile …

6
Warum gibt es keinen Verschlüsselungsalgorithmus, der auf den bekannten NP-Hard-Problemen basiert?
Der Großteil der heutigen Verschlüsselung, wie der RSA, basiert auf der ganzzahligen Faktorisierung, von der nicht angenommen wird, dass sie ein NP-hartes Problem darstellt. Sie gehört jedoch zu BQP, wodurch sie für Quantencomputer anfällig wird. Ich frage mich, warum es keinen Verschlüsselungsalgorithmus gab, der auf einem bekannten NP-harten Problem basiert. …

13
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 ist eine großartige Möglichkeit, viele fehlerhafte Versuche …



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.