Quels sont les algorithmes de base de PHP ?
Beaucoup de gens disent que les algorithmes sont au cœur des programmes. La clé pour savoir si un programme est bon ou mauvais est la qualité de son algorithme. En tant que PHPer junior, même si je suis peu exposé aux choses algorithmiques. Mais je pense que nous devons encore maîtriser les quatre algorithmes de base que sont le tri à bulles, le tri par insertion, le tri par sélection et le tri rapide.
Recommandations associées : "Tutoriel PHP"
Exigences : Utilisez respectivement le tri par bulles, le tri rapide et le tri par sélection. La méthode de tri par insertion trie les valeurs du tableau ci-dessous par ordre croissant.
$arr=array(11,3,56,62,21,66,32,78,36,76,39,88,34);
1. Le tri à bulles
Introduction :
Le tri à bulles (Bubble Sort, traduction taïwanaise : tri à bulles ou tri à bulles) est un tri simple. algorithme. Il parcourt à plusieurs reprises la séquence à trier, en comparant les deux éléments tour à tour et en les échangeant s'ils sont dans le mauvais ordre. Le travail de visite du tableau est répété jusqu'à ce qu'aucun échange ne soit plus nécessaire, ce qui signifie que le tableau a été trié. Le nom de cet algorithme vient du fait que les éléments plus petits « flotteront » lentement vers le haut du tableau grâce à l’échange.
Étapes :
1. Comparez les éléments adjacents. Si le premier est plus grand que le second, échangez-les tous les deux.
2. Faites le même travail pour chaque paire d'éléments adjacents, de la première paire au début à la dernière paire à la fin. À ce stade, le dernier élément doit être le plus grand nombre.
3. Répétez les étapes ci-dessus pour tous les éléments sauf le dernier.
4. Continuez à répéter les étapes ci-dessus pour de moins en moins d'éléments à chaque fois jusqu'à ce qu'il n'y ait plus de paires de nombres à comparer.
Code spécifique :
$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; }
Effet de tri :
2. Sélectionnez le tri
Introduction :
Le tri par sélection est un algorithme de tri simple et intuitif. Voici comment cela fonctionne. Tout d'abord, recherchez le plus petit élément de la séquence non triée et stockez-le au début de la séquence triée. Ensuite, continuez à rechercher le plus petit élément parmi les éléments non triés restants, puis placez-le à la fin de la séquence triée. Et ainsi de suite jusqu'à ce que tous les éléments soient triés.
Code spécifique :
//实现思路 双重循环完成,外层控制轮数,当前的最小值。内层 控制的比较次数 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; }
Effet de tri :
Tri par insertion
Introduction :
La description de l'algorithme de tri par insertion est un algorithme de tri simple et intuitif. Il fonctionne en construisant une séquence ordonnée. Pour les données non triées, il analyse d'arrière en avant dans la séquence triée pour trouver la position correspondante et l'insérer. Dans la mise en œuvre du tri par insertion, le tri sur place est généralement utilisé (c'est-à-dire un tri qui n'utilise que l'espace supplémentaire O(1). Par conséquent, pendant le processus de numérisation d'arrière en avant, il est nécessaire de décaler de manière répétée et progressive le tri par insertion. éléments triés vers l'arrière, fournissant un espace d'insertion pour le dernier élément.
Étapes :
1. En partant du premier élément, l'élément peut être considéré comme ayant été trié
2. Sortir l'élément suivant, après le trié Scannez d'arrière en avant dans la séquence d'éléments
3. Si l'élément (trié) est plus grand que le nouvel élément, déplacez l'élément à la position suivante
4. étape 3, jusqu'à ce que vous trouviez une position où l'élément trié est inférieur ou égal au nouvel élément
5 Insérez le nouvel élément dans la position
6.
Code spécifique :
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; }
Effet de tri :
Tri rapide
Introduction :
Tri rapide Il s'agit d'un algorithme de tri développé par Tony Hall. En moyenne, le tri de n éléments nécessite des comparaisons O(n log n). Dans le pire des cas, des comparaisons O(n2) sont nécessaires, mais cette situation est rare. En fait, le tri rapide est souvent beaucoup plus rapide que les autres algorithmes Ο(n log n), car sa boucle interne peut être implémentée efficacement sur la plupart des architectures et fonctionne bien sur la plupart des applications du monde réel. Les données peuvent déterminer les choix de conception, réduisant ainsi la possibilité de termes quadratiques. dans le temps requis.
Étapes :
1. Choisissez un élément de la séquence, appelé le "pivot",
2. Réorganisez la séquence, tous les éléments étant plus petits que le. la valeur de base est placée devant la base, et tous les éléments plus grands que la valeur de base sont placés derrière la base (le même nombre peut aller de chaque côté). Une fois cette partition terminée, la base se trouve au milieu de la séquence. C'est ce qu'on appelle une opération de partition.
3. Triez de manière récursive le sous-tableau d'éléments plus petits que la valeur de base et le sous-tableau d'éléments supérieurs à la valeur de base.
Code spécifique :
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); }
Effet de tri :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

En programmation PHP, les algorithmes font partie intégrante. La maîtrise des algorithmes courants peut non seulement améliorer l’efficacité du code, mais également faciliter la conception ultérieure des programmes. Les algorithmes suivants sont courants dans la programmation PHP : Algorithme de tri L'algorithme de tri fait référence à l'organisation d'un ensemble de données dans une séquence ordonnée selon certaines règles. Dans la programmation PHP, les algorithmes de tri couramment utilisés incluent le tri à bulles, le tri par insertion, le tri par sélection, le tri rapide, etc. Parmi eux, le tri rapide est l'algorithme de tri ayant la complexité temporelle la plus faible et convient au traitement de données à grande échelle. algorithme de recherche algorithme de recherche

PHP est un langage de programmation très populaire qui prend en charge divers types de données et algorithmes, dont les algorithmes de tri de tableaux et de recherche sont des éléments fondamentaux et importants. Cet article présentera les algorithmes de tri et de recherche de tableaux couramment utilisés en PHP, ainsi que leurs scénarios d'application et leur analyse d'efficacité. 1. Tri de tableaux PHP propose une variété de méthodes de tri de tableaux, notamment le tri à bulles, le tri par insertion, le tri par sélection, le tri rapide, le tri par fusion, etc. Ce qui suit est une introduction et un exemple de code pour plusieurs algorithmes couramment utilisés : Tri à bulles (BubbleSort)

PHP est un langage de script largement utilisé dans le développement Web et il s'améliore de plus en plus pour créer des sites Web dynamiques. Dans le développement Web, les structures de données et les algorithmes ne sont pas moins importants que d’autres domaines de programmation, et leur impact sur l’efficacité de l’exécution des programmes est particulièrement important. En particulier dans les scénarios impliquant de grandes quantités de stockage et de traitement de données, ou des exigences élevées en matière de performances des programmes, les structures de données et les algorithmes sont devenus un élément incontournable. Cet article présente principalement certaines structures de données et algorithmes couramment utilisés en PHP. 1. Tableau de structure des données Le tableau PHP est très courant

Avec la popularité d’Internet et l’expansion continue des applications, le développement de langages de programmation est devenu de plus en plus important. En tant que langage de programmation très populaire, PHP est également en constante évolution. Dans le processus de programmation avec PHP, les développeurs PHP peuvent être confrontés à la nécessité de représenter certaines connaissances et de générer automatiquement des algorithmes. Alors, comment représenter les connaissances et générer automatiquement des algorithmes en PHP ? Cet article en discutera ci-dessous. 1. Représentation des connaissances La représentation des connaissances est un enjeu très important dans le domaine de l'intelligence artificielle. Savoir

Analyse d'algorithme PHP : Comment utiliser un algorithme de recherche binaire pour localiser rapidement des éléments dans un tableau ordonné ? Présentation : L'algorithme de recherche binaire est un algorithme de recherche efficace qui convient à la recherche d'éléments spécifiques dans un tableau ordonné. Cet article présentera en détail le principe de l'algorithme de recherche binaire et donnera des exemples de code PHP. Principe : L'algorithme de recherche binaire localise rapidement l'élément cible en réduisant de moitié la plage de recherche à plusieurs reprises. Le processus est le suivant : d'abord, limitez la plage de recherche au début et à la fin du tableau ; puis calculez l'index de l'élément du milieu et comparez-le avec l'élément cible ;

Compréhension approfondie des algorithmes de base de PHP et Vue dans la fonction de cartographie cérébrale Introduction : À l'ère moderne d'Internet, nous utilisons souvent diverses applications pour nous aider à organiser et à gérer les informations. La cartographie cérébrale est une manière courante et pratique d’organiser l’information, qui peut afficher graphiquement des processus de réflexion complexes. Dans cet article, nous nous concentrerons sur les algorithmes de base de PHP et Vue dans la fonction de cartographie cérébrale et donnerons des exemples de code. 1. Caractéristiques des cartes mentales. Les cartes mentales sont un type de carte cérébrale qui prend un thème central comme noyau et affiche les informations liées à ce thème à travers une structure arborescente.

Analyse de l'algorithme PHP : Comment utiliser un algorithme de programmation dynamique pour résoudre le problème du sac à dos 0-1 ? Introduction : La programmation dynamique est une idée algorithmique couramment utilisée pour résoudre des problèmes d'optimisation. Dans le développement de programmes, le problème du sac à dos 0-1 est un scénario classique d’application de programmation dynamique. Cet article explique comment utiliser PHP pour écrire un algorithme de programmation dynamique afin de résoudre le problème du sac à dos 0-1 et fournit des exemples de code spécifiques. Quel est le problème du sac à dos 0-1 ? Le problème du sac à dos 0-1 est un problème d’optimisation combinatoire classique. Le problème se pose comme suit : Il existe un sac à dos d’une capacité de C. Il y a n objets

PHP est un langage de développement largement utilisé pour le développement d'applications Web. Cependant, les applications Web doivent souvent traiter de grandes quantités de données, y compris le traitement, le stockage et les requêtes de données, etc. Par conséquent, l’application d’algorithmes et de structures de données en PHP est une technologie très critique. Un algorithme est une méthode générale utilisée en programmation informatique pour résoudre des problèmes. En programmation, nous résolvons des problèmes en concevant et en mettant en œuvre des algorithmes pour améliorer l'efficacité, la maintenabilité et l'évolutivité de nos programmes. Les algorithmes couramment utilisés incluent le tri, la recherche, la division pour régner, la gourmandise, etc.
