js grundlegender Algorithmus: Blasensortierung, binäre Suche
Wissenserweiterung:
Zeitkomplexität: Die Zeitkomplexität eines Algorithmus ist eine Funktion, die die Laufzeit des Algorithmus beschreibt. Je geringer die Zeitkomplexität, desto höher die Effizienz.
Selbstverständnis: Die Zeitkomplexität eines Algorithmus wird durch mehrmalige Ausführung bestimmt. Wenn er n-mal ausgeführt wird, beträgt die Zeitkomplexität O(n).
1. Blasensortierung
Analyse: 1. Vergleichen Sie zwei benachbarte Elemente, wenn das erstere größer als das letztere ist.
2. In der ersten Runde sollte das letzte Element das größte sein.
3. Vergleichen Sie zwei benachbarte Elemente gemäß Schritt 1. Da das letzte Element zu diesem Zeitpunkt bereits das größte ist, besteht keine Notwendigkeit, das letzte Element zu vergleichen.
function sort(elements){ for(var i=0;i<elements.length-1;i++){ for(var j=0;j<elements.length-i-1;j++){ if(elements[j]>elements[j+1]){ var swap=elements[j]; elements[j]=elements[j+1]; elements[j+1]=swap; } } } } var elements = [3, 1, 5, 7, 2, 4, 9, 6, 10, 8]; console.log('before: ' + elements); sort(elements); console.log(' after: ' + elements);
2. Schnellsortierung
Analyse: Die Daten werden im ersten Sortierdurchgang in zwei Teile geteilt Teil ist kleiner als alle Daten im anderen Teil. Rufen Sie es dann rekursiv auf und führen Sie eine schnelle Sortierung auf beiden Seiten durch.
function quickSort(elements) { if (elements.length <= 1) { return elements; } var pivotIndex = Math.floor(elements.length / 2); var pivot = elements.splice(pivotIndex, 1)[0]; var left = []; var right = []; for (var i = 0; i < elements.length; i++){ if (elements[i] < pivot) { left.push(elements[i]); } else { right.push(elements[i]); } } return quickSort(left).concat([pivot], quickSort(right)); }; var elements=[5,6,2,1,3,8,7,1.2,5.5,4.5]; alert(quickSort(elements));
3. Einfügungssortierung
Analyse:
(1) Ab dem ersten Element kann davon ausgegangen werden, dass das Element sortiert wurde
(2) Nehmen Sie das nächste Element heraus und scannen Sie es von hinten nach vorne in der sortierten Elementsequenz
(3) Wenn das Element (sortiert) größer als das neue Element ist, verschieben Sie das Element an die nächste Position
(4) Wiederholen Sie Schritt 3, bis Sie die Position gefunden haben, an der das sortierte Element kleiner oder gleich dem neuen Element ist
(5) Fügen Sie das neue Element an der nächsten Position ein
(6) Wiederholen Sie Schritt 2
insertSort: function(elements) { var i = 1, j, step, key, len = elements.length; for (; i < len; i++) { step = j = i; key = elements[j]; while (--j > -1) { if (elements[j] > key) { elements[j + 1] = elements[j]; } else { break; } } elements[j + 1] = key; } return elements; }
2. Binäre Suche
Analyse: Die binäre Suche ist ebenfalls eine halbe Suche. Finden Sie zunächst einen Mittelwert, indem Sie ihn mit dem Mittelwert vergleichen. Der größere Wert wird platziert und der kleinere Wert wird links platziert. Suchen Sie dann den Mittelwert auf beiden Seiten und führen Sie den obigen Vorgang fort, bis Sie die Position gefunden haben.
(1) Rekursive Methode
function binarySearch(data,item,start,end){ var end=end || data.length-1; var start=start || 0; var m=Math.floor((start+end)/2); if(item==data[m]){ return m; }else if(item<data[m]){ return binarySearch(data,item,start,m-1) //递归调用 }else{ return binarySearch(data,item,m+1,end); } return false; } var arr=[34,12,5,123,2,745,32,4]; binary(arr,5);
(2) Nicht-rekursive Methode
function binarySearch(data, item){ var h = data.length - 1, l = 0; while(l <= h){ var m = Math.floor((h + l) / 2); if(data[m] == item){ return m; } if(item > data[m]){ l = m + 1; }else{ h = m - 1; } } return false; } var arr=[34,12,5,123,2,745,32,4]; binarySearch(arr,5);

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



So schreiben Sie mit C# einen binären Suchalgorithmus. Er findet die Position eines bestimmten Elements in einem geordneten Array mit einer Zeitkomplexität von O(logN). In C# können wir mit den folgenden Schritten einen binären Suchalgorithmus schreiben. Schritt 1: Daten vorbereiten Zuerst müssen wir ein sortiertes Array als Zieldaten für die Suche vorbereiten. Angenommen, wir möchten die Position eines bestimmten Elements in einem Array ermitteln. int[]data={1,3,5,7,9,11,13

Wir wissen, dass die binäre Suchmethode der am besten geeignete und effektivste Sortieralgorithmus ist. Dieser Algorithmus funktioniert mit sortierten Sequenzen. Der Algorithmus ist einfach: Er findet einfach das Element in der Mitte, teilt dann die Liste in zwei Teile und bewegt sich zur linken oder rechten Unterliste. Wir kennen seinen Algorithmus. Jetzt werden wir sehen, wie man die binäre Suchtechnik in einer Multithread-Umgebung verwendet. Die Anzahl der Threads hängt von der Anzahl der im System vorhandenen Kerne ab. Werfen wir einen Blick auf den Code, um eine Vorstellung davon zu bekommen. Beispiel#include<iostream>#defineMAX16#defineMAX_THREAD4usingnamespacestd;//placearr,keyandothervariabl

Die Programmiersprache C bietet zwei Suchtechniken. Sie lauten wie folgt: Lineare Suche Binäre Suche Binäre Suche Diese Methode eignet sich nur für geordnete Listen. Die angegebene Liste ist in zwei gleiche Teile unterteilt. Das angegebene Schlüsselwort wird mit dem mittleren Element der Liste verglichen. Hier können drei Dinge passieren: Wenn das mittlere Element mit dem Schlüsselwort übereinstimmt, wird die Suche hier erfolgreich beendet. Wenn das mittlere Element größer als das Schlüsselwort ist, findet die Suche in der linken Partition statt. Wenn das mittlere Element kleiner als das Schlüsselwort ist, wird die Suche in der rechten Partition durchgeführt. Eingabe (i/p) – unsortierte Liste von Elementen, Schlüsselwörtern. Ausgabe (o/p)-success-if failed to find the keyword-otherwise key=20mid=(low+high)/2 Programm 1 Das Folgende ist die Verwendung der binären Suche in

So implementieren Sie einen binären Suchalgorithmus mit Java. Der binäre Suchalgorithmus ist eine effiziente Suchmethode, die für sortierte Arrays geeignet ist. Seine Grundidee besteht darin, den Suchbereich kontinuierlich einzuschränken, den Suchwert mit den Elementen in der Mitte des Arrays zu vergleichen und basierend auf dem Vergleichsergebnis zu entscheiden, ob die Suche in der linken oder rechten Hälfte fortgesetzt werden soll, bis das Zielelement gefunden wird oder Der Suchbereich wird auf leer reduziert. Im Folgenden stellen wir detailliert vor, wie der binäre Suchalgorithmus in Java implementiert wird. Schritt 1: Implementieren Sie die binäre Suchmethode publicclassBinarySearch

Wie implementiert man einen binären Suchalgorithmus mit Python? Der binäre Suchalgorithmus, auch binärer Suchalgorithmus genannt, ist ein effizienter Suchalgorithmus. Es funktioniert bei geordneten Arrays oder Listen und grenzt die Suche ein, indem der Zielwert mit Elementen in der Mitte des Arrays verglichen wird. Im Folgenden wird die Implementierung des binären Suchalgorithmus in Python vorgestellt und spezifische Codebeispiele bereitgestellt. Algorithmusidee: Vergleichen Sie den Zielwert mit dem Element in der Mitte des Arrays. Wenn sie gleich sind, geben Sie die Elementposition zurück, wenn der Zielwert größer ist als das Element in der Mitte

Eine Kubikwurzel ist ein ganzzahliger Wert, der dreimal hintereinander mit sich selbst multipliziert den ursprünglichen Wert ergibt. In diesem Artikel schreiben wir ein Java-Programm, das die binäre Suche verwendet, um die Kubikwurzel einer Zahl zu finden. Das Finden der Kubikwurzel einer Zahl ist eine Anwendung des binären Suchalgorithmus. In diesem Artikel besprechen wir ausführlich, wie man die binäre Suche zur Berechnung von Kubikwurzeln verwendet. Eingabe-Ausgabe-Beispiel Beispiel 1: Eingabe: 64 Ausgabe: 4 Die Kubikwurzel von 64 ist beispielsweise 4 und die Ausgabe ist 4. Beispiel 2: Eingabe: 216 Ausgabe: 6 Beispielsweise ist die Kubikwurzel von 216 6 und die Ausgabe ist 6. Binäre Suche Die binäre Suche ist ein Algorithmus zum Suchen von Elementen (d. h. Schlüsseln in einem sortierten Array). Binärer Algorithmus funktioniert

In diesem Problem erhalten wir eine sortierte Reihe rationaler Zahlen. Wir müssen einen binären Suchalgorithmus verwenden, um nach einem bestimmten Element dieses Arrays rationaler Zahlen zu suchen, ohne Gleitkommaoperationen zu verwenden. Rationale Zahlen sind Zahlen, die in der Form p/q ausgedrückt werden, wobei p und q beide ganze Zahlen sind. Zum Beispiel ⅔, ⅕. Die binäre Suche ist eine Suchtechnik, die Elemente findet, indem sie in der Mitte eines Arrays sucht. Wird verwendet, um Elemente in einem sortierten Array rationaler Zahlen mithilfe der binären Suche zu finden, wobei Gleitkommaoperationen nicht zulässig sind. Wir vergleichen Zähler und Nenner, um herauszufinden, welches Element größer ist bzw. welches Element dasjenige ist, das gefunden werden soll. Beispiel: Erstellen wir hierfür ein Programm, #include<stdio.h>structRational{ &am

Analyse des PHP-Algorithmus: Wie verwende ich den binären Suchalgorithmus, um Elemente in einem geordneten Array schnell zu finden? Übersicht: Der binäre Suchalgorithmus ist ein effizienter Suchalgorithmus, der zum Auffinden bestimmter Elemente in einem geordneten Array geeignet ist. In diesem Artikel wird das Prinzip des binären Suchalgorithmus ausführlich vorgestellt und PHP-Codebeispiele gegeben. Prinzip: Der binäre Suchalgorithmus findet das Zielelement schnell, indem er den Suchbereich wiederholt um die Hälfte reduziert. Der Vorgang ist wie folgt: Grenzen Sie zunächst den Suchbereich auf den Anfang und das Ende des Arrays ein. Berechnen Sie dann den Index des mittleren Elements und vergleichen Sie ihn mit dem Zielelement.
