


PHP-Sortieralgorithmus, Serieneinfügung, Sortierung, Beispielfreigabe
Dieser Artikel stellt allen die relevanten Informationen zur Einfügungssortierung in der PHP-Sortieralgorithmus-Reihe im Detail vor. Ich hoffe, dass er jedem helfen kann.
Einfügungssortierung
Es gibt eine bereits geordnete Datensequenz, und es ist erforderlich, eine Zahl in diese bereits sortierte Datensequenz einzufügen, aber es ist erforderlich, dass diese Daten Die Reihenfolge wird immer noch eingefügt. Zu diesem Zeitpunkt wird eine neue Sortiermethode verwendet - die Einfügungssortierung. Der grundlegende Vorgang der Einfügungssortierung besteht darin, Daten in die sortierten geordneten Daten einzufügen, um einen neuen, individuellen Algorithmus zu erhalten zum Sortieren einer kleinen Datenmenge, und die zeitliche Komplexität beträgt O(n^2). Es handelt sich um eine stabile Sortiermethode. Der Einfügealgorithmus teilt das zu sortierende Array in zwei Teile: Der erste Teil enthält alle Elemente des Arrays mit Ausnahme des letzten Elements (wodurch das Array um einen weiteren Platz für eine Einfügeposition erweitert wird), und der zweite Teil enthält nur dieses Element (d. h. das einzufügende Element). Nachdem der erste Teil sortiert ist, wird dieses letzte Element in den sortierten ersten Teil eingefügt.
Prinzip
Die Grundidee der Direkteinfügungssortierung (Insertion Sort) ist: Jedes Mal, wenn ein zu sortierender Datensatz in den zuvor sortierten Datensatz eingefügt wird seine Schlüsselgröße Die entsprechende Position in der geordneten Teilsequenz, bis alle Datensätze eingefügt sind.
Angenommen, das Array ist ein[0…n-1].
1. Zunächst bildet a[0] einen geordneten Bereich und der ungeordnete Bereich ist a[1..n-1]. Sei i=1
2. Füge a[i] mit dem aktuellen geordneten Bereich a[0...i-1] zusammen, um ein geordnetes Intervall von a[0...i] zu bilden.
3.i++ und wiederholen Sie den zweiten Schritt, bis i==n-1. Sortierung abgeschlossen.
PHP-Code-Implementierung
function insertSort($arr){ //获取需要排序的长度 $length=count($arr); //假定第一个为有序的,所以从$i开始比较 for ($i=1; $i <$length ; $i++) { //存放待比较的值 $tmp=$arr[$i]; for($j=$i-1;$j>=0;$j--){ //若插入值比较小,则将后面的元素后移一位,并将值插入 if($tmp<$arr[$j]){ $arr[$j+1]=$arr[$j]; $arr[$j]=$tmp; }else{ break; } } } return $arr; }
Algorithmus Zeitkomplexitätsberechnung
Im besten Fall (die Elemente sind bereits in Ordnung): Dann müssen Sie nur noch n-1 Schleifen durchlaufen, und die Zeitkomplexität beträgt O(n)
Im schlimmsten Fall (die Elemente sind in umgekehrter Reihenfolge): Die Anzahl der Schleifenanpassungen muss sein: [ n * (n -1) ] / 2, die Zeitkomplexität beträgt O(n^2)
Die durchschnittliche Zeitkomplexität beträgt: O(n^2)
Verwandte Empfehlungen:
PHP-Implementierung Bucket Sortieralgorithmus-Beispielfreigabe
Detaillierte Erläuterung der Heap-Sortierung des PHP-Sortieralgorithmus
PHP-Lernfreigabe für einfache Auswahlsortieralgorithmen
Das obige ist der detaillierte Inhalt vonPHP-Sortieralgorithmus, Serieneinfügung, Sortierung, Beispielfreigabe. 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

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



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.
