Questions d'entrevue d'algorithme de PHP

Source : Internet
Auteur : utilisateur
1. Utilisant PHP pour décrire le tri des bulles et les algorithmes de tri rapide, les objets peuvent être un tableau 2. En utilisant la description PHP séquentiel de recherche et la dichotomie (également connu sous le nom de pli-et-demi-trouver) algorithme, lookupmust séquentiel doit être pris en compte l'efficacité, l'objet peut être un tableau commandé 3. Écrire une fonction bidimensionnelle de tri de tableau algorithme, peut avoir ..." "http://www.php100.com//statics/style/h

1. Utilisant PHP pour décrire le tri des bulles et les algorithmes de tri rapide, les objets peuvent être un tableau

2. Utilisant la description PHP séquentielle de recherche et de dichotomie (également connu sous le nom d'un demi-trouvé) algorithme, recherche séquentielle doit considérer l'efficacité, les objets peuvent être un tableau ordonné

3. Écrire une fonction d'algorithme de tri de tableau bidimensionnel, peut être universel, peut appeler php fonction intégrée

(La réponse ci-dessous n'est pas nécessairement la meilleure, juste une simple référence)

Tout d'abord, la question fondamentale

1. L'égalité égalité n'est pas égale

2. Vrai vrai vrai vrai vrai faux faux faux

3. aaaaaa

4. 5 0 1

5. 5 2

6. 1 2

7. Obtenir une extension d'un fichier de plus de cinq façons

fonction get-ext1 ($file-nom)

retour strrchr ($file-nom, '.');

}

fonction get-ext2 ($file-nom)

return substr ($file-nom, strrpos (nom $file, '.');

}

fonction get-ext3 ($file-nom)

retour tableau-pop ('s', $file-name);

}

fonction get-ext4 ($file-nom)

$p s pathinfo ($file-nom);

retour $p 'extension';

}

fonction get-ext5 ($file-nom)

retour strrev ($file , nom), 0, strpos ($file, nom), '.');

}

Deuxièmement, la question de l'algorithme

1. Utilisant PHP pour décrire le tri des bulles et les algorithmes de tri rapide, les objets peuvent être un tableau

Tri de bulle (tri de tableau)

fonction bulle-sort ($array)

{

$count compte ($array);

si ($count<= 0)="" return="">

pour ($i-0; $i<$count;>

pour ($j - $count-1; $j $i; $j -)

si ($array s.$j.<>

$tmp $array s.$j.

$array s.$j . . . . . . $j . $array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

$array s.$j.1 . . . $tmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

}

}

}

retour $array;

}

Tri rapide (tri de tableau)

fonction rapide-tri ($array)

si ($array)<= 1)="" return="">

$array de $key

$left-arr-array(array);

$right-arr-array(array);

pour ($i s1; $i

si ($array s.$i.<=>

$left-arr-s-$array-$i-$i-$i-$i-)

autre

$right-arr, $array.s.a., $i.

}

$left-arr-quick-sort ($left-arr);

$right-arr-quick-sort ($right-arr);

tableau de retour-fusion ($left-arr, tableau ($key), $right-arr);

}

2. Utilisant la description PHP séquentielle de recherche et de dichotomie (également connu sous le nom d'un demi-trouvé) algorithme, recherche séquentielle doit considérer l'efficacité, les objets peuvent être un tableau ordonné

Rechercher des trempettes (trouver un élément dans un tableau)

fonction bin?sch ($array, $low, $high, $k)

si ($low<=>

$mid s intval ($low plus $high)/2);

si ($array s.$mid . . . . . . . . $k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

retour $mid;

($k<>

retour bin?sch ($array, $low, $mid-1, $k);

selse (en)

retour bin?sch ($array, $mid1, $high, $k);

}

}

retour -1;

}

Rechercher séquentiel (recherche d'un élément dans un tableau)

fonction seq?sch ($array, $n, $k)

$array s.$n. . . . . . . $k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

pour ($i-0; $i<$n;>

si ($array s/$i s/$k)

pause;

}

}

si ($i<>

retour $i;

selse (en)

retour -1;

}

}

3. Écrire une fonction d'algorithme de tri de tableau bidimensionnel, peut être universel, peut appeler php fonction intégrée

Tri de tableau bidimensionnel, $arr est des données, $keys est la valeur saine du genre, $order est le tri ingérer, 1 monte, 0 descend

tableau de fonction ($arr, $keys, $order-0)

si (!'is-array ($arr))

retour faux;

}

tableau de $keysvalue (tableau)

foreach ($arr comme $val de $key)

$keysvalue s.$key. $keys $val . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

}

si ($order s 0).

asort ($keysvalue);

s d'autre . . .

arsort ($keysvalue);

}

réinitialisez ($keysvalue);

foreach ($keysvalue comme $vals de $key)

$keysort s.$key . . . $key;

}

$new-array-array()

foreach ($keysort comme $val de $key)

$new.s.array s.$val $arr $key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

}

retour $new le désordre;

}

Nous contacter

Le contenu de cette page provient d'Internet et ne reflète pas l'opinion d'Alibaba Cloud ; les produits et services mentionnés sur cette page n'ont aucune relation avec Alibaba Cloud. Si le contenu de la page vous semble problématique, veuillez nous écrire un courriel, nous traiterons le problème dans les 5 jours suivant la réception de votre message.

Si vous constatez des cas de plagiat de la part de la communauté, veuillez envoyer un courriel à : info-contact@alibabacloud.com et fournir des preuves pertinentes. Un membre de notre équipe vous contactera dans les 5 jours ouvrables.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.