Inhaltsverzeichnis
1.冒泡排序
2.选择排序
3.插入排序
4.快速排序
Heim Backend-Entwicklung PHP-Tutorial Was sind die grundlegenden Algorithmen von PHP?

Was sind die grundlegenden Algorithmen von PHP?

Jun 18, 2019 pm 03:44 PM
php算法

许多人都说算法是程序的核心,一个程序的好与差,关键是这个程序算法的优劣。作为一个初级phper,虽然很少接触到算法方面的东西 。但是对于冒泡排序,插入排序,选择排序,快速排序四种基本算法,我想还是要掌握的。

Was sind die grundlegenden Algorithmen von PHP?

相关推荐:《PHP教程

需求:分别用 冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中 的值按照从小到的顺序进行排序。

$arr=array(11,3,56,62,21,66,32,78,36,76,39,88,34);
Nach dem Login kopieren

1.冒泡排序

介绍:

冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,依次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

步骤:

1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。

2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

3.针对所有的元素重复以上的步骤,除了最后一个。

4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

具体代码:

$arr=array(1,43,54,62,21,66,32,78,36,76,39);
function bubbleSort ($arr)
{
$len = count($arr);
//该层循环控制 需要冒泡的轮数
for ($i=1; $i<$len; $i++) {
//该层循环用来控制每轮 冒出一个数 需要比较的次数
for ($k=0; $k<$len-$i; $k++) {
if($arr[$k] > $arr[$k+1]) {
$tmp = $arr[$k+1]; // 声明一个临时变量
$arr[$k+1] = $arr[$k];
$arr[$k] = $tmp;
}
}
}
return $arr;
}
Nach dem Login kopieren

排序效果:
Was sind die grundlegenden Algorithmen von PHP?

2.选择排序

介绍:

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此类推,直到所有元素均排序完毕。

具体代码:

//实现思路 双重循环完成,外层控制轮数,当前的最小值。内层 控制的比较次数
function select_sort($arr) {
//$i 当前最小值的位置, 需要参与比较的元素
for($i=0, $len=count($arr); $i<$len-1; $i++) {
//先假设最小的值的位置
$p = $i;
//$j 当前都需要和哪些元素比较,$i 后边的。
for($j=$i+1; $j<$len; $j++) {
//$arr[$p] 是 当前已知的最小值
if($arr[$p] > $arr[$j]) {
//比较,发现更小的,记录下最小值的位置;并且在下次比较时,应该采用已知的最小值进行比较。
$p = $j;
}
}
//已经确定了当前的最小值的位置,保存到$p中。
//如果发现 最小值的位置与当前假设的位置$i不同,则位置互换即可
if($p != $i) {
$tmp = $arr[$p];
$arr[$p] = $arr[$i];
$arr[$i] = $tmp;
}
}
//返回最终结果
return $arr;
}
Nach dem Login kopieren

排序效果:

Was sind die grundlegenden Algorithmen von PHP?

3.插入排序

介绍:

插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。

步骤:

1.从第一个元素开始,该元素可以认为已经被排序

2.取出下一个元素,在已经排序的元素序列中从后向前扫描

3.如果该元素(已排序)大于新元素,将该元素移到下一位置

4.重复步骤3,直到找到已排序的元素小于或者等于新元素的位置

5.将新元素插入到该位置中

6.重复步骤2

具体代码:

function insert_sort($arr)
{
$len=count($arr);
for($i=1; $i<$len; $i++) {
//获得当前需要比较的元素值。
$tmp = $arr[$i];
//内层循环控制 比较 并 插入
for($j=$i-1; $j>=0; $j--) {
//$arr[$i];//需要插入的元素; $arr[$j];//需要比较的元素
if($tmp < $arr[$j]) {
//发现插入的元素要小,交换位置
//将后边的元素与前面的元素互换
$arr[$j+1] = $arr[$j];
//将前面的数设置为 当前需要交换的数
$arr[$j] = $tmp;
} else {
//如果碰到不需要移动的元素
//由于是已经排序好是数组,则前面的就不需要再次比较了。
break;
}
}
}
//将这个元素 插入到已经排序好的序列内。
//返回
return $arr;
}
Nach dem Login kopieren

排序效果:
Was sind die grundlegenden Algorithmen von PHP?

4.快速排序

介绍:

快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少所需时间的二次方项之可能性。

步骤:

1.从数列中挑出一个元素,称为 “基准”(pivot),

2.重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。

3.递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。

具体代码:

function quick_sort($arr)
{
//判断参数是否是一个数组
if(!is_array($arr)) return false;
//递归出口:数组长度为1,直接返回数组
$length = count($arr);
if($length<=1) return $arr;
//数组元素有多个,则定义两个空数组
$left = $right = array();
//使用for循环进行遍历,把第一个元素当做比较的对象
for($i=1; $i<$length; $i++)
{
//判断当前元素的大小
if($arr[$i]<$arr[0]){
$left[]=$arr[$i];
}else{
$right[]=$arr[$i];
}
}
//递归调用
$left=quick_sort($left);
$right=quick_sort($right);
//将所有的结果合并
return array_merge($left,array($arr[0]),$right);
}
Nach dem Login kopieren

排序效果:

Was sind die grundlegenden Algorithmen von PHP?

Das obige ist der detaillierte Inhalt vonWas sind die grundlegenden Algorithmen von 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ßer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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)

Heiße Themen

Java-Tutorial
1667
14
PHP-Tutorial
1273
29
C#-Tutorial
1255
24
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)

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

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

Analyse des PHP-Algorithmus: Wie kann ein dynamischer Programmieralgorithmus verwendet werden, um das 0-1-Rucksackproblem zu lösen? Analyse des PHP-Algorithmus: Wie kann ein dynamischer Programmieralgorithmus verwendet werden, um das 0-1-Rucksackproblem zu lösen? Sep 19, 2023 pm 12:33 PM

Analyse des PHP-Algorithmus: Wie kann ein dynamischer Programmieralgorithmus verwendet werden, um das 0-1-Rucksackproblem zu lösen? Einleitung: Dynamische Programmierung ist eine algorithmische Idee, die häufig zur Lösung von Optimierungsproblemen verwendet wird. In der Programmentwicklung ist das 0-1-Rucksackproblem ein klassisches Anwendungsszenario der dynamischen Programmierung. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP einen dynamischen Programmieralgorithmus zur Lösung des 0-1-Rucksackproblems schreiben und spezifische Codebeispiele bereitstellen. Was ist das 0:1-Rucksackproblem? Das 0-1-Rucksackproblem ist ein klassisches kombinatorisches Optimierungsproblem. Das Problem stellt sich wie folgt dar: Es gibt einen Rucksack mit einem Fassungsvermögen von C. Es gibt n Objekte

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.

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.

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.

See all articles