Heim Backend-Entwicklung PHP-Tutorial Array-Sortier- und Suchalgorithmus in PHP

Array-Sortier- und Suchalgorithmus in PHP

Jun 23, 2023 am 09:45 AM
php算法 php数组排序 php数组搜索

PHP ist eine sehr beliebte Programmiersprache, die verschiedene Datentypen und Algorithmen unterstützt, von denen Array-Sortierung und Suchalgorithmen grundlegende und wichtige Bestandteile sind. In diesem Artikel werden häufig verwendete Array-Sortier- und Suchalgorithmen in PHP sowie deren Anwendungsszenarien und Effizienzanalysen vorgestellt.

1. Array-Sortierung

PHP bietet eine Vielzahl von Array-Sortiermethoden, einschließlich Blasensortierung, Einfügungssortierung, Auswahlsortierung, Schnellsortierung, Zusammenführungssortierung usw. Das Folgende ist eine Einführung und ein Beispielcode für mehrere häufig verwendete Algorithmen:

  1. Bubble Sort

Bubble Sort ist ein einfacher, aber ineffizienter Sortieralgorithmus. Seine Grundidee besteht darin, mit der ersten Ordnung des Arrays zu beginnen , werden die Größen benachbarter Elemente nacheinander verglichen. Wenn das linke Element größer als das rechte Element ist, werden ihre Positionen vertauscht. Nach dieser Vergleichsrunde wird das größte Element an das Ende des Arrays verschoben. Beginnen Sie dann mit dem ersten Element und wiederholen Sie den obigen Vorgang. Die zeitliche Komplexität beträgt O (n ^ 2).

Beispielcode:

function bubble_sort($arr) {
    $len = count($arr);
    for ($i = 0; $i < $len - 1; $i++) {
        for ($j = 0; $j < $len - $i - 1; $j++) {
            if ($arr[$j] > $arr[$j + 1]) {
                $temp = $arr[$j];
                $arr[$j] = $arr[$j + 1];
                $arr[$j + 1] = $temp;
            }
        }
    }
    return $arr;
}
Nach dem Login kopieren
  1. Einfügungssortierung

Einfügungssortierung ist ein relativ einfacher Sortieralgorithmus. Seine Grundidee besteht darin, zu sortierende Daten in eine bereits geordnete Reihenfolge einzufügen, um den Sortierzweck zu erreichen. Unter der Annahme, dass die vorherigen Elemente sortiert wurden, beginnen Sie mit dem zweiten Element des Arrays und suchen Sie nach einer geeigneten Position für den Einfügevorgang. Ähnlich wie bei der Blasensortierung beträgt auch die zeitliche Komplexität O(n^2).

Beispielcode:

function insertion_sort($arr) {
    $len = count($arr);
    for ($i = 1; $i < $len; $i++) {
        $temp = $arr[$i];
        for ($j = $i - 1; $j >= 0 && $arr[$j] > $temp; $j--) {
            $arr[$j + 1] = $arr[$j];
        }
        $arr[$j + 1] = $temp;
    }
    return $arr;
}
Nach dem Login kopieren
  1. Quick Sort

Quick Sort ist ein häufig verwendeter und effizienter Sortieralgorithmus. Seine Grundidee besteht darin, ein beliebiges Element im Array als Basiswert auszuwählen und die verbleibenden Elemente dann in zwei zu unterteilen Teilsequenzen: Die Zahlen auf der linken Seite sind alle kleiner als der Basiswert und die Zahlen auf der rechten Seite sind alle größer als der Basiswert. Wiederholen Sie dann die obigen Schritte für die linke und rechte Teilsequenz, bis die Länge der Teilsequenz 1 oder 0 beträgt. Die Zeitkomplexität der schnellen Sortierung beträgt O(n log2 n) und es handelt sich um eine instabile Sortierung.

Beispielcode:

function quick_sort($arr) {
    $len = count($arr);
    if ($len <= 1) {
        return $arr;
    }
    $pivot_key = $arr[0];
    $left_arr = array();
    $right_arr = array();
    for ($i = 1; $i < $len; $i++) {
        if ($arr[$i] <= $pivot_key) {
            $left_arr[] = $arr[$i];
        } else {
            $right_arr[] = $arr[$i];
        }
    }
    $left_arr = quick_sort($left_arr);
    $right_arr = quick_sort($right_arr);
    return array_merge($left_arr, array($pivot_key), $right_arr);
}
Nach dem Login kopieren

2. Array-Suche

Array-Suchalgorithmen in PHP umfassen hauptsächlich lineare Suche, binäre Suche und Hash-Suche. Das Folgende ist eine Einführung und ein Beispielcode für mehrere häufig verwendete Algorithmen:

  1. Lineare Suche

Die Grundidee besteht darin, mit dem ersten Element des Arrays zu beginnen Geben Sie nacheinander die Schlüsselwörter der Elemente ein, um festzustellen, ob sie identisch sind. Geben Sie den Index des Elements zurück, andernfalls geben Sie -1 zurück. Die zeitliche Komplexität der linearen Suche beträgt O(n).

Beispielcode:

function linear_search($arr, $key) {
    $len = count($arr);
    for ($i = 0; $i < $len; $i++) {
        if ($arr[$i] == $key) {
            return $i;
        }
    }
    return -1;
}
Nach dem Login kopieren
  1. Binäre Suche

Die Grundidee besteht darin, das geordnete Array in zwei Teile zu unterteilen und jeweils die Größe der mittleren Elemente und Schlüsselwörter zu vergleichen sind gleich Geben Sie dann den Index des Elements zurück, andernfalls wird der Suchbereich entsprechend der Größenbeziehung um die Hälfte reduziert, bis das Zielelement gefunden wird. Die zeitliche Komplexität der binären Suche beträgt O(log2 n).

Beispielcode:

function binary_search($arr, $key) {
    $low = 0;
    $high = count($arr) - 1;
    while ($low <= $high) {
        $mid = floor(($low + $high) / 2);
        if ($arr[$mid] == $key) {
            return $mid;
        } elseif ($arr[$mid] > $key) {
            $high = $mid - 1;
        } else {
            $low = $mid + 1;
        }
    }
    return -1;
}
Nach dem Login kopieren
  1. Hash-Suche

Hash-Suche ist ein effizienter Suchalgorithmus, der Hash-Tabellen verwendet. Die Grundidee besteht darin, den Schlüssel jedes Elements einer Hash-Tabelle zuzuordnen, seine Position mithilfe einer Hash-Funktion zu berechnen und dann das erforderliche Element an dieser Position zu finden. Die zeitliche Komplexität der Hash-Suche beträgt O(1), es muss jedoch eine Hash-Tabelle erstellt und verwaltet werden.

Das Obige ist eine Einführung und ein Beispielcode für Array-Sortier- und Suchalgorithmen, die häufig in PHP verwendet werden. Die Auswahl verschiedener Algorithmen entsprechend den tatsächlichen Anwendungsszenarien und der Datengröße kann die Effizienz des Codes verbessern.

Das obige ist der detaillierte Inhalt vonArray-Sortier- und Suchalgorithmus in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was sind die gängigen Algorithmen in der PHP-Programmierung? Was sind die gängigen Algorithmen in der PHP-Programmierung? Jun 12, 2023 am 08:30 AM

Bei der PHP-Programmierung sind Algorithmen ein integraler Bestandteil. Die Beherrschung gängiger Algorithmen kann nicht nur die Codeeffizienz verbessern, sondern auch Hilfe beim späteren Programmdesign bieten. Die folgenden sind gängige Algorithmen in der PHP-Programmierung: Sortieralgorithmus Unter Sortieralgorithmus versteht man das Anordnen einer Datenmenge in einer geordneten Reihenfolge nach bestimmten Regeln. Zu den in der PHP-Programmierung häufig verwendeten Sortieralgorithmen gehören Blasensortierung, Einfügungssortierung, Auswahlsortierung, Schnellsortierung usw. Unter diesen ist die schnelle Sortierung der Sortieralgorithmus mit der geringsten zeitlichen Komplexität und eignet sich für die Verarbeitung großer Datenmengen. Suchalgorithmus Suchalgorithmus

Array-Sortier- und Suchalgorithmus in PHP Array-Sortier- und Suchalgorithmus in PHP Jun 23, 2023 am 09:45 AM

PHP ist eine sehr beliebte Programmiersprache, die verschiedene Datentypen und Algorithmen unterstützt, von denen Array-Sortierung und Suchalgorithmen grundlegende und wichtige Bestandteile sind. In diesem Artikel werden häufig verwendete Array-Sortier- und Suchalgorithmen in PHP sowie deren Anwendungsszenarien und Effizienzanalysen vorgestellt. 1. Array-Sortierung PHP bietet eine Vielzahl von Array-Sortiermethoden, einschließlich Blasensortierung, Einfügungssortierung, Auswahlsortierung, Schnellsortierung, Zusammenführungssortierung usw. Im Folgenden finden Sie eine Einführung und einen Beispielcode für mehrere häufig verwendete Algorithmen: Bubble Sort (BubbleSort)

So sortieren und filtern Sie Daten mithilfe von PHP-Arrays So sortieren und filtern Sie Daten mithilfe von PHP-Arrays Jul 15, 2023 pm 12:57 PM

So verwenden Sie PHP-Arrays zum Sortieren und Filtern von Daten. Einführung: Bei der Entwicklung von PHP-Anwendungen müssen Sie häufig Arrays sortieren und filtern. Bei der Verarbeitung großer Datenmengen sind Sortieren und Filtern sehr wichtige Vorgänge. PHP bietet eine Reihe von Funktionen und Methoden, mit denen sich Arrays einfach sortieren und filtern lassen. In diesem Artikel wird die Verwendung von PHP-Arrays zum Sortieren und Filtern von Daten vorgestellt und entsprechende Codebeispiele bereitgestellt. 1. Datensortierung PHP bietet eine Vielzahl von Array-Sortiermethoden, darunter sort() und rsor.

PHP-Datenstrukturen und -Algorithmen verstehen PHP-Datenstrukturen und -Algorithmen verstehen May 24, 2023 am 08:15 AM

PHP ist eine in der Webentwicklung weit verbreitete Skriptsprache und wird beim Erstellen dynamischer Websites immer besser. In der Webentwicklung sind Datenstrukturen und Algorithmen nicht weniger wichtig als andere Programmierkategorien und ihr Einfluss auf die Effizienz der Programmausführung ist besonders groß. Insbesondere in Szenarien mit großer Datenspeicherung und -verarbeitung oder hohen Anforderungen an die Programmleistung sind Datenstrukturen und Algorithmen zu einem nicht zu vernachlässigenden Bestandteil geworden. In diesem Artikel werden hauptsächlich einige häufig verwendete Datenstrukturen und Algorithmen in PHP vorgestellt. 1. Datenstruktur-Array PHP-Array ist ein sehr verbreitetes Array

Wie kann man Wissen darstellen und automatisch Algorithmen in PHP generieren? Wie kann man Wissen darstellen und automatisch Algorithmen in PHP generieren? May 22, 2023 pm 08:10 PM

Mit der Popularität des Internets und der kontinuierlichen Erweiterung der Anwendungen hat die Entwicklung von Programmiersprachen immer mehr an Bedeutung gewonnen. Als sehr beliebte Programmiersprache entwickelt sich auch PHP ständig weiter. Beim Programmieren mit PHP stehen PHP-Entwickler möglicherweise vor der Notwendigkeit, einige Kenntnisse darzustellen und automatisch Algorithmen zu generieren. Wie kann man also Wissen darstellen und automatisch Algorithmen in PHP generieren? Dieser Artikel wird dies weiter unten besprechen. 1. Wissensrepräsentation Wissensrepräsentation ist ein sehr wichtiges Thema im Bereich der künstlichen Intelligenz. Wissen

Analyse des PHP-Algorithmus: Wie verwende ich den binären Suchalgorithmus, um Elemente in einem geordneten Array schnell zu finden? Analyse des PHP-Algorithmus: Wie verwende ich den binären Suchalgorithmus, um Elemente in einem geordneten Array schnell zu finden? Sep 19, 2023 pm 01:14 PM

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.

Algorithmen und Datenstrukturen in PHP Algorithmen und Datenstrukturen in PHP May 25, 2023 am 08:51 AM

PHP ist eine weit verbreitete Entwicklungssprache, die häufig für die Entwicklung von Webanwendungen verwendet wird. Webanwendungen müssen jedoch häufig große Datenmengen verarbeiten, einschließlich Datenverarbeitung, Speicherung und Abfrage usw. Daher ist die Anwendung von Algorithmen und Datenstrukturen in PHP eine sehr wichtige Technologie. Ein Algorithmus ist eine allgemeine Methode, die in der Computerprogrammierung zur Lösung von Problemen verwendet wird. Beim Programmieren lösen wir Probleme, indem wir Algorithmen entwerfen und implementieren, um die Effizienz, Wartbarkeit und Skalierbarkeit unserer Programme zu verbessern. Zu den häufig verwendeten Algorithmen gehören Sortieren, Suchen, Teilen und Erobern, Greedy usw.

Vertiefendes Verständnis der Kernalgorithmen von PHP und Vue in der Brain-Mapping-Funktion Vertiefendes Verständnis der Kernalgorithmen von PHP und Vue in der Brain-Mapping-Funktion Aug 15, 2023 pm 01:00 PM

Vertiefendes Verständnis der Kernalgorithmen von PHP und Vue in der Brain-Mapping-Funktion Einführung: Im modernen Internetzeitalter verwenden wir häufig eine Vielzahl von Anwendungen, die uns bei der Organisation und Verwaltung von Informationen helfen. Brain Mapping ist eine gängige und praktische Methode zur Organisation von Informationen, mit der komplexe Denkprozesse grafisch dargestellt werden können. In diesem Artikel konzentrieren wir uns auf die Kernalgorithmen von PHP und Vue in der Brain-Mapping-Funktion und geben Codebeispiele. 1. Merkmale von Mind Maps Mind Maps sind eine Art Brain Map, die ein zentrales Thema als Kern hat und Informationen zu diesem Thema in einer Baumstruktur anzeigt.

See all articles