Sechs häufig verwendete JS-Sortieralgorithmen und Vergleich
Dieses Mal stelle ich Ihnen die 6 häufig verwendeten JS-Sortieralgorithmen und deren Vergleich vor. Was sind die Vorsichtsmaßnahmen bei der Verwendung von JS-Sortieralgorithmen?
var bubbleSort = function(arr) { for (var i = 0, len = arr.length; i < len - 1; i++) { for (var j = i + 1; j < len; j++) { if (arr[i] > arr[j]) { var temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } return arr; };
var selectSort = function(arr) { var min; for (var i = 0; i < arr.length - 1; i++) { min = i; for (var j = i + 1; j < arr.length; j++) { if (arr[min] > arr[j]) { min = j; } } if (i != min) { swap(arr, i, min); } console.log(i + 1, ": " + arr); } return arr; }; function swap(arr, index1, index2) { var temp = arr[index1]; arr[index1] = arr[index2]; arr[index2] = temp; };
3. Einfügungssortierung
var insertSort = function(arr) { var len = arr.length, key; for (var i = 1; i < len; i++) { var j = i; key = arr[j]; while (--j > -1) { if (arr[j] > key) { arr[j + 1] = arr[j]; } else { break; } } arr[j + 1] = key; } return arr; };
4. Hügelsortierung
function shellSort(arr) { if (arr.length < 2) { return arr; }; var n = arr.length; for (gap = Math.floor(n / 2); gap > 0; gap = Math.floor(gap /= 2)) { for (i = gap; i < n; ++i) { for (j = i - gap; j >= 0 && arr[j + gap] < arr[j]; j -= gap) { temp = arr[j]; arr[j] = arr[j + gap]; arr[j + gap] = temp; } } } return arr; };
5. Zusammenführungssortierung
function merge(left, right) { var result = []; while (left.length > 0 && right.length > 0) { if (left[0] < right[0]) { // shift()方法用于把数组的第一个元素从其中删除,并返回第一个元素的值 result.push(left.shift()); } else { result.push(right.shift()); } } return result.concat(left).concat(right); } function mergeSort(arr) { if (arr.length == 1) { return arr; } var middle = Math.floor(arr.length / 2), left = arr.slice(0, middle), right = arr.slice(middle); return merge(mergeSort(left), mergeSort(right)); }
Vergleich der Algorithmuseffizienz
----- ------------------------------------------------- - -------
|. Sortieralgorithmus |. Bester Fall |---------------- ------------------------
|. Risikoblasensortierung | ) |. O(n²) |. ------------
|. Auswahlsortierung |. |. Instabil|
-------------- -----------
|. Einfügungssortierung O(n²) | (n²) |. Stabil |
-------------------------- -----------
|. O(nlogn)~O(n²) | O(n²) |. Instabil|. ----------
|. O(nlogn) |
------ ----------------------------------------- -------------
|. O(nlogn) |
-------- -------- ------------------------------------------ --------
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Empfohlene Lektüre:
Vue-Router Lazy Loading löst das langsame Problem zuerst Ladegeschwindigkeit Detaillierte Erläuterung der Schritte
Detaillierte Erläuterung der Nginx-Bereitstellungsschritte des vue.js-Projekts
Das obige ist der detaillierte Inhalt vonSechs häufig verwendete JS-Sortieralgorithmen und Vergleich. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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

Heutzutage werden Leistung und Funktionen von Mobiltelefonen immer leistungsfähiger. Nahezu alle Mobiltelefone sind mit komfortablen NFC-Funktionen ausgestattet, um Benutzern das mobile Bezahlen und die Identitätsauthentifizierung zu erleichtern. Einige Xiaomi 14Pro-Benutzer wissen jedoch möglicherweise nicht, wie sie die NFC-Funktion aktivieren können. Als nächstes möchte ich es Ihnen im Detail vorstellen. Wie aktiviere ich die NFC-Funktion auf dem Xiaomi 14Pro? Schritt 1: Öffnen Sie das Einstellungsmenü Ihres Telefons. Schritt 2: Suchen Sie die Option „Verbinden und teilen“ oder „Drahtlos und Netzwerke“ und klicken Sie darauf. Schritt 3: Suchen Sie im Menü „Verbindung & Freigabe“ oder „Drahtlos & Netzwerke“ nach „NFC & Zahlungen“ und klicken Sie darauf. Schritt 4: Suchen Sie nach „NFC Switch“ und klicken Sie darauf. Im Allgemeinen ist die Standardeinstellung deaktiviert. Schritt 5: Klicken Sie auf der NFC-Umschaltseite auf die Schaltfläche zum Einschalten.

Oben geschrieben und das persönliche Verständnis des Autors: Derzeit spielt das Wahrnehmungsmodul im gesamten autonomen Fahrsystem eine entscheidende Rolle Das Steuermodul im autonomen Fahrsystem trifft zeitnahe und korrekte Urteile und Verhaltensentscheidungen. Derzeit sind Autos mit autonomen Fahrfunktionen in der Regel mit einer Vielzahl von Dateninformationssensoren ausgestattet, darunter Rundumsichtkamerasensoren, Lidar-Sensoren und Millimeterwellenradarsensoren, um Informationen in verschiedenen Modalitäten zu sammeln und so genaue Wahrnehmungsaufgaben zu erfüllen. Der auf reinem Sehen basierende BEV-Wahrnehmungsalgorithmus wird von der Industrie aufgrund seiner geringen Hardwarekosten und einfachen Bereitstellung bevorzugt, und seine Ausgabeergebnisse können problemlos auf verschiedene nachgelagerte Aufgaben angewendet werden.

Zu den häufigsten Herausforderungen, mit denen Algorithmen für maschinelles Lernen in C++ konfrontiert sind, gehören Speicherverwaltung, Multithreading, Leistungsoptimierung und Wartbarkeit. Zu den Lösungen gehören die Verwendung intelligenter Zeiger, moderner Threading-Bibliotheken, SIMD-Anweisungen und Bibliotheken von Drittanbietern sowie die Einhaltung von Codierungsstilrichtlinien und die Verwendung von Automatisierungstools. Praktische Fälle zeigen, wie man die Eigen-Bibliothek nutzt, um lineare Regressionsalgorithmen zu implementieren, den Speicher effektiv zu verwalten und leistungsstarke Matrixoperationen zu nutzen.

Die unterste Ebene der C++-Sortierfunktion verwendet die Zusammenführungssortierung, ihre Komplexität beträgt O(nlogn) und bietet verschiedene Auswahlmöglichkeiten für Sortieralgorithmen, einschließlich schneller Sortierung, Heap-Sortierung und stabiler Sortierung.

Das Gleiten des Bildschirms durch die Luft ist eine Funktion von Huawei, die in der Huawei mate60-Serie sehr gelobt wird. Diese Funktion nutzt den Lasersensor am Telefon und die 3D-Tiefenkamera der Frontkamera, um eine Reihe von Funktionen auszuführen, die nicht erforderlich sind Funktion zum Berühren des Bildschirms, z. B. das Wischen von TikTok aus der Luft, aber wie kann man mit dem Huawei Pocket 2 TikTok aus der Luft wischen? Wie mache ich mit Huawei Pocket2 Screenshots aus der Luft? 1. Öffnen Sie die Einstellungen des Huawei Pocket2 2. Wählen Sie dann [Barrierefreiheit]. 3. Klicken Sie, um [Smart Perception] zu öffnen. 4. Schalten Sie einfach die Schalter [Air Swipe Screen], [Air Screenshot] und [Air Press] ein. 5. Wenn Sie es verwenden, müssen Sie es 20–40 cm vom Bildschirm entfernt halten, Ihre Handfläche öffnen und warten, bis das Handflächensymbol auf dem Bildschirm erscheint.

WPS ist unsere häufig verwendete Office-Software. Bei der Bearbeitung langer Artikel sind die Schriftarten oft zu klein, um klar gesehen zu werden, daher werden die Schriftarten und das gesamte Dokument angepasst. Zum Beispiel: Durch Anpassen des Zeilenabstands wird das gesamte Dokument sehr klar. Ich schlage vor, dass alle Freunde diesen Arbeitsschritt lernen. Die spezifischen Arbeitsschritte sind wie folgt. Öffnen Sie die WPS-Textdatei, die Sie anpassen möchten, suchen Sie die Symbolleiste für die Absatzeinstellung im Menü [Start] und Sie sehen das kleine Symbol für die Einstellung des Zeilenabstands (im Bild als roter Kreis dargestellt). 2. Klicken Sie auf das kleine umgekehrte Dreieck in der unteren rechten Ecke der Zeilenabstandseinstellung. Der entsprechende Zeilenabstandswert wird angezeigt. Sie können den 1- bis 3-fachen Zeilenabstand auswählen (wie durch den Pfeil in der Abbildung dargestellt). 3. Oder klicken Sie mit der rechten Maustaste auf den Absatz und er wird angezeigt

Die Konvergenz von künstlicher Intelligenz (KI) und Strafverfolgung eröffnet neue Möglichkeiten zur Kriminalprävention und -aufdeckung. Die Vorhersagefähigkeiten künstlicher Intelligenz werden häufig in Systemen wie CrimeGPT (Crime Prediction Technology) genutzt, um kriminelle Aktivitäten vorherzusagen. Dieser Artikel untersucht das Potenzial künstlicher Intelligenz bei der Kriminalitätsvorhersage, ihre aktuellen Anwendungen, die Herausforderungen, denen sie gegenübersteht, und die möglichen ethischen Auswirkungen der Technologie. Künstliche Intelligenz und Kriminalitätsvorhersage: Die Grundlagen CrimeGPT verwendet Algorithmen des maschinellen Lernens, um große Datensätze zu analysieren und Muster zu identifizieren, die vorhersagen können, wo und wann Straftaten wahrscheinlich passieren. Zu diesen Datensätzen gehören historische Kriminalstatistiken, demografische Informationen, Wirtschaftsindikatoren, Wettermuster und mehr. Durch die Identifizierung von Trends, die menschliche Analysten möglicherweise übersehen, kann künstliche Intelligenz Strafverfolgungsbehörden stärken

01Ausblicksübersicht Derzeit ist es schwierig, ein angemessenes Gleichgewicht zwischen Detektionseffizienz und Detektionsergebnissen zu erreichen. Wir haben einen verbesserten YOLOv5-Algorithmus zur Zielerkennung in hochauflösenden optischen Fernerkundungsbildern entwickelt, der mehrschichtige Merkmalspyramiden, Multierkennungskopfstrategien und hybride Aufmerksamkeitsmodule verwendet, um die Wirkung des Zielerkennungsnetzwerks in optischen Fernerkundungsbildern zu verbessern. Laut SIMD-Datensatz ist der mAP des neuen Algorithmus 2,2 % besser als YOLOv5 und 8,48 % besser als YOLOX, wodurch ein besseres Gleichgewicht zwischen Erkennungsergebnissen und Geschwindigkeit erreicht wird. 02 Hintergrund und Motivation Mit der rasanten Entwicklung der Fernerkundungstechnologie wurden hochauflösende optische Fernerkundungsbilder verwendet, um viele Objekte auf der Erdoberfläche zu beschreiben, darunter Flugzeuge, Autos, Gebäude usw. Objekterkennung bei der Interpretation von Fernerkundungsbildern
