Articles of Algorithmus

Breite zuerst Vs Tiefe zuerst

Wenn Sie einen Baum / ein Diagramm durchlaufen, was ist der Unterschied zwischen Breite zuerst und Tiefe zuerst? Beliebige Codierungs- oder Pseudocode-Beispiele wären großartig.

Wie werden SSL-Zertifikate verifiziert?

Welche Schritte sind erforderlich, um ein SSL-Zertifikat sicher zu überprüfen? Mein (sehr begrenztes) Verständnis besteht darin, dass der Server beim Besuch einer https-Site ein Zertifikat an den Client (den Browser) sendet und der Browser die Ausstellerinformationen des Zertifikats von diesem Zertifikat abruft, um dann den Aussteller zu kontaktieren und irgendwie zu vergleichen Zertifikate für die […]

Millionen von 3D-Punkten: Wie finden Sie die 10 von ihnen am nächsten an einem bestimmten Punkt?

Ein Punkt in 3-d ist definiert durch (x, y, z). Der Abstand d zwischen zwei beliebigen Punkten (X, Y, Z) und (x, y, z) ist d = Sqrt [(Xx) ^ 2 + (Yy) ^ 2 + (Zz) ^ 2]. Jetzt gibt es eine Million Einträge in einer Datei, jeder Eintrag ist ein Punkt im Raum, […]

Was ist eine gute Hash-function?

Was ist eine gute Hash-function? Ich habe eine Menge Hash-functionen und Anwendungen in meinen Datenstruktur-Kursen in der Universität gesehen, aber ich habe meistens festgestellt, dass es ziemlich schwer ist, eine gute Hash-function zu erstellen. Als Faustregel, um Kollisionen zu vermeiden, sagte mein Professor: function Hash(key) return key mod PrimeNumber end (mod ist der% Operator in […]

Was ist der schnellste Algorithmus zum Sortieren einer verknüpften Liste?

Ich bin gespannt, ob O (n log n) das Beste ist, was eine verknüpfte Liste tun kann.

Mögliche Interview Frage: Wie Sie alle überlappenden Intervalle finden

Es ist keine Interviewfrage per se , da ich in meinem Projekt darauf gestoßen bin, aber ich dachte, es könnte eine anständige Frage sein. Sie haben N Intervalle, sagen ganze Zahlen. Sie müssen alle Intervalle, die sich in O (N) -Zeit überschneiden, identifizieren. Zum Beispiel, wenn Sie haben {1, 3} {12, 14} {2, 4} {13, […]

Rekursion gegen Iteration

Ist es korrekt zu sagen, dass überall, wo recursion wird, eine For-Schleife verwendet werden könnte? Und wenn die Rekursion normalerweise langsamer ist, was ist der technische Grund dafür, sie jemals für die Iteration zu verwenden? Und wenn es immer möglich ist, eine Rekursion in eine for-Schleife umzuwandeln, gibt es eine Faustregel dafür?

Duplikate in O (n) Zeit und O (1) Raum finden

Eingabe: Gegeben sei ein Array von n Elementen, die Elemente von 0 bis n-1 enthalten, wobei jede dieser Zahlen beliebig oft vorkommen kann. Ziel: Um diese sich wiederholenden Zahlen in O (n) zu finden und nur konstanten Speicherplatz zu verwenden. Zum Beispiel sei n 7 und array be {1, 2, 3, 1, 3, 0, 6}, […]

Algorithmus zum Erzeugen eines Kreuzworträtsels

Wie würden Sie eine gegebene Wörterliste in ein Kreuzworträtselgitter einordnen? Es muss nicht wie ein “richtiges” Kreuzworträtsel sein, das symmetrisch oder ähnlich ist: Im Grunde geben Sie nur eine Ausgangsposition und eine Richtung für jedes Wort aus. Gibt es Java-Beispiele?

Generiere alle eindeutigen Teilstrings für eine gegebene Zeichenkette

Gibt es eine Zeichenfolge s , was ist die schnellste Methode, um eine Menge aller eindeutigen Teilzeichenfolgen zu generieren? Beispiel: für str = “aba” würden wir substrs={“a”, “b”, “ab”, “ba”, “aba”} . Der naive Algorithmus würde die gesamte Zeichenfolge, die Teilstrings erzeugt, in der Länge 1..n in jeder Iteration 1..n , was eine O(n^2) obere […]