Die meisten Tutorials zu Lambda Calculus bieten Beispiele, in denen positive Ganzzahlen und Boolesche Werte durch Funktionen dargestellt werden können. Was ist mit -1 und
Die meisten Tutorials zu Lambda Calculus bieten Beispiele, in denen positive Ganzzahlen und Boolesche Werte durch Funktionen dargestellt werden können. Was ist mit -1 und
Ich habe zwei große Mengen von ganzen Zahlen und BAAABBB . Jeder Satz hat ungefähr eine Million Einträge, und jeder Eintrag ist eine positive ganze Zahl, die höchstens 10 Stellen lang ist. Was ist der beste Algorithmus zur Berechnung von und B ∖ A ? Mit anderen Worten, wie kann ich die Liste der...
Nehmen wir an, wir haben zwei Zahlen lll und und wollen für l \ le i, \, j \ le r finden .max ( i ⊕ j ) l ≤ i ,rrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r Der naive Algorithmus überprüft einfach alle möglichen Paare; Zum Beispiel in Ruby hätten wir: def max_xor(l, r) max = 0...
Cache-vergessene Algorithmen und Datenstrukturen sind eine ziemlich neue Sache, die von Frigo et al. in Cache-vergessenen Algorithmen, 1999 . Prokops Dissertation aus dem gleichen Jahr stellt auch die frühen Ideen vor. Das Papier von Frigo et al. präsentieren einige experimentelle Ergebnisse, die...
Ich versuche zu beweisen, dass ein Binärbaum mit Knoten höchstens Blätter hat. Wie würde ich das mit Induktion machen?nnn⌈n2⌉⌈n2⌉\left\lceil \frac{n}{2} \right\rceil Für Leute, die der ursprünglichen Frage nach Haufen folgten, wurde sie hierher verschoben
Mir wurde gesagt, dass wir eine Liste verwenden würden, wenn der Graph dünn ist, und eine Matrix, wenn der Graph dicht ist . Für mich ist es nur eine grobe Definition. Ich sehe nicht viel darüber hinaus. Können Sie klarstellen, wann dies die natürliche Wahl wäre? Danke im
Wenn wir einen Baum als eine teilweise geordnete Menge betrachten, wird er zu einem Sonderfall eines Join-Semilattice. Für ein Join-Semilattice möchten wir in der Lage sein, die (eindeutige) kleinste Obergrenze von zwei Elementen (mehr oder weniger) effizient zu berechnen. Im Fall eines Baums würde...
Ich habe die folgende Frage, aber keine Antwort darauf. Ich würde mich freuen, wenn meine Methode korrekt ist: Q. Bei der Suche nach dem Schlüsselwert 60 in einem binären Suchbaum werden Knoten mit den Schlüsselwerten 10, 20, 40, 50, 70, 80, 90 durchlaufen, nicht unbedingt in der angegebenen...
Ich entwerfe eine speicherinterne Objektdatenbank für einen bestimmten Anwendungsfall. Es ist ein einzelner Writer, muss jedoch effiziente gleichzeitige Lesevorgänge unterstützen. Lesevorgänge müssen isoliert werden. Es gibt keine Abfragesprache, die Datenbank unterstützt nur: Objekt / -s nach...
Eine der beliebtesten Fragen aus den Bereichen Datenstruktur und Algorithmus, die meistens beim Telefoninterview gestellt
Dynamische perfekte Hash-Tabellen und Kuckuck-Hash-Tabellen sind zwei unterschiedliche Datenstrukturen, die O (1) -Suchvorgänge im ungünstigsten Fall und erwartete O (1) -Zeit-Einfügungen und -Löschungen unterstützen. Beide benötigen O (n) Hilfsraum und Zugang zu Familien von Hash-Funktionen für...
Es gibt effiziente Datenstrukturen zur Darstellung festgelegter Partitionen. Diese Datenstrukturen weisen eine gute zeitliche Komplexität für Operationen wie Union und Find auf, sind jedoch nicht besonders platzsparend. Was ist eine platzsparende Möglichkeit, eine Partition einer Menge...
Angenommen, wir lesen eine Folge von Zahlen nacheinander. So finden Sie das k -kleinste Element nur mit dem O ( k ) -Zellenspeicher und in linearer Zeit ( O ( n ) ). Ich denke, wir sollten die ersten k Terme der Sequenz speichern und, wenn wir den k + 1 -ten Term erhalten, einen Term löschen, von...
Ich suche nach einer dauerhaften Datenstruktur ähnlich dem Array (aber unveränderlich), die schnelle Indizierungs-, Anhänge-, Voranstellungs- und Iterationsoperationen (gute Lokalität) ermöglicht. Clojure bietet dauerhaften Vektor, ist jedoch nur zum schnellen Anhängen geeignet. Scalas Vektor hat...
Möchten Sie diesen Beitrag verbessern? Geben Sie detaillierte Antworten auf diese Frage, einschließlich Zitaten und einer Erklärung, warum Ihre Antwort richtig ist. Antworten ohne ausreichende Details können bearbeitet oder gelöscht werden. Ich wurde beauftragt, eine Bibliothek mit Büchern über...
Bei der Arbeit wurde ich beauftragt, einige Typinformationen über eine dynamische Sprache abzuleiten. Ich schreibe Folgen von Anweisungen in verschachtelte letAusdrücke um, wie folgt: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z =>...
Ich habe Probleme mit Hashing und binärem Suchbaummaterial. Und ich habe gelesen, dass anstelle von Listen zum Speichern von Einträgen mit denselben Hashwerten auch binäre Suchbäume verwendet werden können. Und ich versuche zu verstehen, was die schlechteste und durchschnittliche Laufzeit für die...
Ein Fibonnaci-Heap unterstützt die folgenden Vorgänge: insert(key, data) : Fügt der Datenstruktur ein neues Element hinzu find-min() : Gibt einen Zeiger auf das Element mit dem minimalen Schlüssel zurück delete-min() : Entfernt das Element mit dem minimalen Schlüssel delete(node) : löscht das...
Sei nnn eine ganze Zahl und sei ZZ\mathbb{Z} die Menge aller ganzen Zahlen. Es sei [a,b][a,b][a,b] das Intervall der ganzen Zahlen {a,a+1,a+2,…,b}{a,a+1,a+2,…,b}\{a,a+1,a+2,\dots,b\} . Ich suche eine Datenstruktur , die eine Karte darstellen f:[1,n]→Zf:[1,n]→Zf:[1,n] \to \mathbb{Z} . Ich möchte,...
Ich brauche Hilfe bei der Ermittlung der möglichen Funktion für einen maximalen Heap, damit der Extrakt max in der amortisierten Zeit von ist. Ich sollte hinzufügen, dass ich die mögliche Methode nicht gut verstehe.O(1)O(1)O(1) Ich weiß, dass die Einfügefunktion mehr "zahlen" sollte, um die Kosten...