Die Radix-Sortierung ist theoretisch sehr schnell, wenn Sie wissen, dass sich die Tasten in einem bestimmten begrenzten Bereich befinden, z. B. Werte im Bereich [ 0 … n k - 1 ] . Wenn k < lg n Sie nur die Werte zu Base umwandeln n , die nimmt Θ …
Ich suche nach einem Sortieralgorithmus für int-Arrays, der kein anderes Byte als die Größe des Arrays zuweist und auf zwei Befehle beschränkt ist: SWAP: Tauschen Sie den nächsten Index gegen den aktuellen aus. MOVE: bewegt den Cursor zum Index +1 oder -1; Das heißt, Sie können weder nicht benachbarte Indizes …
Betrachten Sie das folgende Problem: Eingabe: zwei Arrays AAA und BBB der Länge nnn , wobei BBB in sortierter Reihenfolge ist. Frage: Sie AAA und BBB enthalten die gleichen Elemente (mit ihrer Vielfalt)? Was ist der schnellste deterministische Algorithmus für dieses Problem? Kann es schneller gelöst werden als sie zu …
Wie kann ich eine Liste mit 5 ganzen Zahlen sortieren, sodass im schlimmsten Fall 7 Vergleiche erforderlich sind? Es ist mir egal, wie viele andere Operationen durchgeführt werden. Ich weiß nichts Besonderes über die ganzen Zahlen. Ich habe ein paar verschiedene Divide-and-Conquer-Ansätze ausprobiert, mit denen ich auf 8 Vergleiche zurückgreifen …
Randomized Quick Sort ist eine Erweiterung von Quick Sort, bei der das Pivot-Element zufällig ausgewählt wird. Was kann der schlimmste Fall sein, Zeit Komplexität dieses Algorithmus. Meiner Meinung nach sollte es , da der schlimmste Fall ein zufällig gewählter Drehpunkt in sortierter oder umgekehrter sortierter Reihenfolge ist. In einigen Texten …
In ihrem Buch Randomized Algorithms , Motwani Raghavan und öffnet die Einführung mit einer Beschreibung ihrer Funktion RandQS - Randomisierte quicksort - wobei der Schwenk, zum Unterteilen des Satzes in zwei Teile verwendet wird , wird nach dem Zufallsprinzip ausgewählt. Ich habe seit einiger Zeit mein (zugegebenermaßen etwas unterbewertetes) Gehirn …
Der schnelle Sortieralgorithmus kann in die folgenden Schritte unterteilt werden Pivot identifizieren. Partitionieren Sie die verknüpfte Liste basierend auf Pivot. Teilen Sie die verknüpfte Liste rekursiv in zwei Teile. Wenn ich immer das letzte Element als Pivot wähle, dauert die Identifizierung des Pivot-Elements (1. Schritt) Mal.O ( n )O(n)\mathcal O(n) …
Letztes Jahr las ich einen fantastischen Artikel über „Quantenmechanik für den Kindergarten“ . Es war kein leichtes Papier. Nun frage ich mich, wie ich Quicksort mit möglichst einfachen Worten erklären kann. Wie kann ich beweisen (oder zumindest per Hand), dass die durchschnittliche Komplexität ist und was die besten und die …
Nehmen wir zwei Listen vergleichbarer Elemente an: u und s. Sei INV (u) die Anzahl der Inversionen in u. Ich suche nach einem effizienten Algorithmus, um die Elemente von s mit einer minimalen Erhöhung von INV (u) in u einzufügen. Grundsätzlich möchte ich Objekte in eine Liste einfügen und dabei …
Eine nnn Item-Liste kann als sortiert verifiziert werden, indem jedes Item mit seinem Nachbarn verglichen wird. In meiner Anwendung kann ich nicht jedes Objekt mit dem Nachbarn vergleichen. Stattdessen finden manchmal Vergleiche zwischen entfernten Elementen statt. Da die Liste mehr als drei Elemente enthält und auch der Vergleich die einzige …
Ist es möglich, einen Sortieralgorithmus mit einem nicht-transitiven Vergleich zu verwenden, und wenn ja, warum wird die Transitivität als Voraussetzung für das Sortieren von Komparatoren aufgeführt? Hintergrund: Ein Sortieralgorithmus sortiert im Allgemeinen die Elemente einer Liste nach einer Komparatorfunktion C (x, y) mit C(x,y)=⎧⎩⎨−10+1if x≺yif x∼yif x≻yC(x,y)={−1if x≺y0if x∼y+1if x≻y\begin{array}{ll} …
Gegeben eine Röhre mit nummerierten Kugeln (zufällig). Das Rohr hat Löcher, um eine Kugel zu entfernen. Betrachten Sie die folgenden Schritte für eine Operation: Sie können einen oder mehrere Bälle aus den Löchern auswählen und sich an die Reihenfolge erinnern, in der Sie die Bälle ausgewählt haben. Sie müssen das …
Bei einem Array von ganzen Zahlen kann jedes Element in dem Array mit einer gewissen Wahrscheinlichkeit , um eine feste Zahl erhöht werden . Ich muss die erwartete Anzahl von Swaps finden, die stattfinden werden, um das Array mithilfe der Blasensortierung zu sortieren .N b p [ i ] 0 …
Merge Sort ist also ein Divide-and-Conquer-Algorithmus. Während ich mir das obige Diagramm ansah, überlegte ich, ob es möglich wäre, im Grunde alle Teilungsschritte zu umgehen. Wenn Sie beim Springen um zwei über das ursprüngliche Array iterieren, können Sie die Elemente am Index i und i + 1 abrufen und sie …
Betrachtet man diesen Pseudocode eines Bubblesorts: FOR i := 0 TO arraylength(list) STEP 1 switched := false FOR j := 0 TO arraylength(list)-(i+1) STEP 1 IF list[j] > list[j + 1] THEN switch(list,j,j+1) switched := true ENDIF NEXT IF switched = false THEN break ENDIF NEXT Was wären die Grundideen, …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.