亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學(xué)院 > 邏輯算法 > 正文

PHP面試題之算法題

2020-03-22 18:46:54
字體:
供稿:網(wǎng)友
php面試題中也會(huì)經(jīng)常出現(xiàn)算法題,本文主要和大家分享PHP面試題之算法題,希望能幫助到大家。

面試題——算法題:

1、插入排序(一維數(shù)組) 基本思想:每次將一個(gè)待排序的數(shù)據(jù)元素,插入到前面已經(jīng)排好序的數(shù)列中的適當(dāng)位置,使數(shù)列依然有序;直到待排序數(shù)據(jù)元素全部插入完為止。 示例:

[初始關(guān)鍵字] [49] 38 65 97 76 13 27 49
J=2(38) [38 49] 65 97 76 13 27 49
J=3(65) [38 49 65] 97 76 13 27 49
J=4(97) [38 49 65 97] 76 13 27 49
J=5(76) [38 49 65 76 97] 13 27 49
J=6(13) [13 38 49 65 76 97] 27 49
J=7(27) [13 27 38 49 65 76 97] 49
J=8(49) [13 27 38 49 49 65 76 97]

function insert_sort($arr){    $count = count($arr);     for($i=1; $i<$count; $i++){         $tmp = $arr[$i];          $j = $i - 1;          while($arr[$j] > $tmp){              $arr[$j+1] = $arr[$j];              $arr[$j] = $tmp;              $j--;          }      }      return $arr; }

2、選擇排序(一維數(shù)組) 基本思想:每一趟從待排序的數(shù)據(jù)元素中選出最小(或最大)的一個(gè)元素,順序放在已排好序的數(shù)列的最后,直到全部待排序的數(shù)據(jù)元素排完。 示例:

[初始關(guān)鍵字] [49 38 65 97 76 13 27 49]
第一趟排序后 13 [38 65 97 76 49 27 49]
第二趟排序后 13 27 [65 97 76 49 38 49]
第三趟排序后 13 27 38 [97 76 49 65 49]
第四趟排序后 13 27 38 49 [49 97 65 76]
第五趟排序后 13 27 38 49 49 [97 97 76]
第六趟排序后 13 27 38 49 49 76 [76 97]
第七趟排序后 13 27 38 49 49 76 76 [ 97]
最后排序結(jié)果 13 27 38 49 49 76 76 97

function select_sort($arr){     $count = count($arr);     for($i=0; $i<$count; $i++){         $k = $i;          for($j=$i+1; $j<$count; $j++){              if ($arr[$k] > $arr[$j]) $k = $j;         }         if($k != $i){             $tmp = $arr[$i];             $arr[$i] = $arr[$k];             $arr[$k] = $tmp;         }     }     return $arr; }

3、冒泡排序(一維數(shù)組) 基本思想:兩兩比較待排序數(shù)據(jù)元素的大小,發(fā)現(xiàn)兩個(gè)數(shù)據(jù)元素的次序相反時(shí)即進(jìn)行交換,直到?jīng)]有反序的數(shù)據(jù)元素為止。 排序過程:設(shè)想被排序的數(shù)組R[1..N]垂直豎立,將每個(gè)數(shù)據(jù)元素看作有重量的氣泡,根據(jù)輕氣泡不能在重氣泡之下的原則, 從下往上掃描數(shù)組R,凡掃描到違反本原則的輕氣泡,就使其向上”漂浮”,如此反復(fù)進(jìn)行,直至最后任何兩個(gè)氣泡都是輕者在上,重者在下為止。 示例:

49 13 13 13 13 13 13 13
38 49 27 27 27 27 27 27
65 38 49 38 38 38 38 38
97 65 38 49 49 49 49 49
76 97 65 49 49 49 49 49
13 76 97 65 65 65 65 65
27 27 76 97 76 76 76 76
49 49 49 76 97 97 97 97

function bubble_sort($array){     $count = count($array);     if ($count <= 0) return false;     for($i=0; $i<$count; $i++){         for($j=$count-1; $j>$i; $j--){             if ($array[$j]<$array[$j-1]){                 $tmp = $array[$j];                 $array[$j] = $array[$j-1];                 $array[$j-1] = $tmp;             }         }     }      return $array; }

4、快速排序(一維數(shù)組) 基本思想:在當(dāng)前無序區(qū)R[1..H]中任取一個(gè)數(shù)據(jù)元素作為比較的”基準(zhǔn)”(不妨記為X), 用此基準(zhǔn)將當(dāng)前無序區(qū)劃分為左右兩個(gè)較小的無序區(qū):R[1..I-1]和R[I 1..H],且左邊的無序子區(qū)中數(shù)據(jù)元素均小于等于基準(zhǔn)元素, 右邊的無序子區(qū)中數(shù)據(jù)元素均大于等于基準(zhǔn)元素,而基準(zhǔn)X則位于最終排序的位置上,即R[1..I-1]≤X.Key≤RI 1..H, 當(dāng) R[1..I-1]和R[I 1..H]均非空時(shí),分別對(duì)它們進(jìn)行上述的劃分過程,直至所有無序子區(qū)中的數(shù)據(jù)元素均已排序?yàn)橹埂?示例:

初始關(guān)鍵字 [49 38 65 97 76 13 27 49]
第一次交換后 [27 38 65 97 76 13 49 49]
第二次交換后 [27 38 49 97 76 13 65 49]
J向左掃描,位置不變,第三次交換后 [27 38 13 97 76 49 65 49]
I向右掃描,位置不變,第四次交換后 [27 38 13 49 76 97 65 49]
J向左掃描 [27 38 13 49 76 97 65 49]
(一次劃分過程)
初始關(guān)鍵字 [49 38 65 97 76 13 27 49]
一趟排序之后 [27 38 13] 49 [76 97 65 49]
二趟排序之后 [13] 27 [38] 49 [49 65]76 [97]
三趟排序之后 13 27 38 49 49 [65]76 97
最后的排序結(jié)果 13 27 38 49 49 65 76 97
各趟排序之后的狀態(tài)

function quickSort(&$arr){    if(count($arr)>1){        $k=$arr[0];        $x=array();        $y=array();        $_size=count($arr);        for($i=1;$i<$_size;$i++){            if($arr[$i]<=$k){                $x[]=$arr[$i];            }elseif($arr[$i]>$k){                $y[]=$arr[$i];            }        }        $x=quickSort($x);        $y=quickSort($y);        return array_merge($x,array($k),$y);    }else{        return$arr;    }}

5、希爾排序(shell sort)— O(n log n)

functionshell_sort(&$arr){    if(!is_array($arr))return;$n=count($arr);    for($gap=floor($n/2);$gap>0;$gap=floor($gap/=2)){        for($i=$gap;$i<$n;++$i){            for($j=$i-$gap;$j>=0&&$arr[$j+$gap]<$arr[$j];$j-=$gap){                $temp=$arr[$j];                $arr[$j]=$arr[$j+$gap];                $arr[$j+$gap]=$temp;            }        }    }}

6、二分查找

/** * 二分算法查找 * @param array $array 要查找的數(shù)組 * @param int $min_key 數(shù)組的最小下標(biāo) * @param int $max_key 數(shù)組的最大下標(biāo) * @param mixed $html' target='_blank'>value 要查找的值 * @return boolean */ function bin_search($array,$min_key,$max_key,$value){             if($min_key <= $max_key){         $key = intval(($min_key+$max_key)/2);         if($array[$key] == $value){             return true;         }elseif($value < $array[$key]){             return bin_search($array,$min_key,$key-1,$value);        }else{             return bin_search($array,$key+1,$max_key,$value);        }     }else{         return false;     } }

7、線性表的刪除(數(shù)組中實(shí)現(xiàn))

function delete_array_element($array, $i){     $len = count($array);     for ($j=$i; $j<$len; $j++){         $array[$j] = $array[$j+1]     }     array_pop($array);     return $array; }

8、字符串長度

function strlen($str){     if ($str == '') return 0;     $count = 0;     while (1){         if ($str[$count] != NULL){             $count++;             continue;         }else{             break;         }     }     return $count; }

9、字符串翻轉(zhuǎn)

function strrev($str){     if ($str == '') return 0;     for ($i=(strlen($str)-1); $i>=0; $i--){          $rev_str .= $str[$i];     }     return $rev_str; }

10、字符串比較

function strcmp($s1, $s2){     if (strlen($s1) < strlen($s2)) return -1;     if (strlen($s1) > strlen($s2)) return 1;     for ($i=0; $i<strlen($s1); $i++){         if ($s1[$i] == $s2[$i]){             continue;         }else{             return false;         }     }     return 0; }

11、查找字符串

function strstr($str, $substr){     $m = strlen($str);     $n = strlen($substr);     if ($m < $n) return false;     for ($i=0; $i<=($m-$n+1); $i++){         $sub = substr($str, $i, $n);         if (strcmp($sub, $substr) == 0) return $i;     }     return false; }

12、字符串替換

function str_replace($substr, $newsubstr, $str){     $m = strlen($str);     $n = strlen($substr);     $x = strlen($newsubstr);     if (strchr($str, $substr) == false) return false;     for ($i=0; $i<=($m-$n+1); $i++){         $i = strchr($str, $substr);         $str = str_delete($str, $i, $n);         $str = str_insert($str, $i, $newstr);     }     return $str; }

13、插入一段字符串

function str_insert($str, $i, $substr){     for($j=0; $j<$i; $j++){         $startstr .= $str[$j];     }     for ($j=$i; $j<strlen($str); $j++){         $laststr .= $str[$j];     }     $str = ($startstr . $substr . $laststr);     return $str; }

14、刪除一段字符串

function str_delete($str, $i, $j){     for ($c=0; $c<$i; $c++){         $startstr .= $str[$c];     }     for ($c=($i+$j); $c<strlen($str); $c++){         $laststr .= $str[$c];     }     $str = ($startstr . $laststr);     return $str; }

15、復(fù)制字符串

function strcpy($s1, $s2){     if (strlen($s1)==NULL || !isset($s2)) return;     for ($i=0; $i<strlen($s1); $i++){         $s2[] = $s1[$i];     }     return $s2; }

16、連接字符串

function strcat($s1, $s2){     if (!isset($s1) || !isset($s2)) return;     $newstr = $s1;     for($i=0; $i<count($s); $i++){         $newstr .= $st[$i];     }     return $newsstr; }

17、簡(jiǎn)單編碼函數(shù)(與php_decode函數(shù)對(duì)應(yīng))

function php_encode($str){ if ($str=='' && strlen($str)>128) return false; for($i=0; $i<strlen($str); $i++){ $c = ord($str[$i]); if ($c>31 && $c<107) $c += 20; if ($c>106 && $c<127) $c -= 75; $word = chr($c); $s .= $word; } return $s; }

18、簡(jiǎn)單解碼函數(shù)(與php_encode函數(shù)對(duì)應(yīng))

function php_decode($str){     if ($str=='' && strlen($str)>128) return false;     for($i=0; $i<strlen($str); $i++){         $c = ord($word);         if ($c>106 && $c<127) $c = $c-20;         if ($c>31 && $c<107) $c = $c+75;         $word = chr($c);         $s .= $word;     }     return $s; }

19、簡(jiǎn)單加密函數(shù)(與php_decrypt函數(shù)對(duì)應(yīng))

function php_encrypt($str){     $encrypt_key = 'abcdefghijklmnopqrstuvwxyz1234567890';    $decrypt_key = 'ngzqtcobmuhelkpdawxfyivrsj2468021359';     if (strlen($str) == 0) return false;      for ($i=0; $i<strlen($str); $i++){          for ($j=0; $j<strlen($encrypt_key); $j++){              if ($str[$i] == $encrypt_key[$j]){                  $enstr .= $decrypt_key[$j];                  break;              }          }      }     return $enstr; }

20、簡(jiǎn)單解密函數(shù)(與php_encrypt函數(shù)對(duì)應(yīng))

function php_decrypt($str){     $encrypt_key = 'abcdefghijklmnopqrstuvwxyz1234567890';    $decrypt_key = 'ngzqtcobmuhelkpdawxfyivrsj2468021359';     if (strlen($str) == 0) return false;     for ($i=0; $i<strlen($str); $i++){         for ($j=0; $j<strlen($decrypt_key); $j++){             if ($str[$i] == $decrypt_key[$j]){                 $enstr .= $encrypt_key[$j];                 break;             }         }     }     return $enstr; }

相關(guān)推薦:

php的經(jīng)典算法題之分蘋果

一條項(xiàng)目中常用的linux命令引發(fā)的經(jīng)典算法題

淺談js中字符和數(shù)組一些基本算法題

以上就是PHP面試題之算法題的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注 其它相關(guān)文章!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国内精品视频在线观看| 亚洲影院色在线观看免费| 一区二区三区欧美视频| 亚洲综合久久网| 久久国产88| 91免费版网站在线观看| 欧美性猛交xxxx黑人交| 日日噜噜噜噜久久久精品毛片| www.浪潮av.com| 麻豆成人久久精品二区三区小说| 黄网网址免费| 亚洲精品动漫| 久久嫩草捆绑紧缚| 在线精品国精品国产尤物884a| 国产女人高潮时对白| 毛毛毛毛毛毛毛片123| 国产日韩精品suv| 国产一区二区电影| 蜜桃视频一区二区在线观看| 国产脚交av在线一区二区| 免费试看一区| 日韩电视剧在线观看免费网站| 免费一级a毛片| 国产精品视频色| 日韩区在线观看| 欧美性猛交xxx乱久交| 人妻少妇精品一区二区三区| 日本亚州欧洲精品不卡| 日韩一区二区三| 91在线品视觉盛宴免费| 一本久道久久综合| 欧美6699| 亚洲少妇诱惑| 国产色综合一区二区三区| 日韩av中文字幕一区二区| 国产在线视频你懂的| 7777女厕盗摄久久久| 日韩簧片在线观看| 欧美激情精品久久久久久久变态| 成人黄色小视频在线观看| 中文字幕av不卡在线| 久久成人18免费网站| 黑人巨大精品欧美一区| 日日干天天草| 九色自拍视频在线观看| 久久精品亚洲一区二区三区浴池| 久久久久久久久久一区| 精品国产乱码久久久久久闺蜜| 高清中文字幕mv的电影| 大地资源二中文在线影视观看| 国产九九九九| 欧美理论一区二区| 成人精品免费看| 色综合91久久精品中文字幕| 久久免费少妇高潮久久精品99| 九色porny在线观看| 国色天香2019中文字幕在线观看| 青青草在线播放| 999在线观看视频| a视频免费观看| 成人免费看片网址| 亚洲午夜视频在线观看| 精品一区二区视频在线观看| 久久久久亚洲精品中文字幕| 日本视频网址| 黄色片视频在线观看| 欧美日韩国产丝袜另类| 欧美一级xxx| 丁香5月婷婷久久| 久久视频国产精品免费视频在线| 天天操夜夜逼| 亚洲高清免费在线| 精品一区二区成人免费视频| 国产成人精品无码片区在线| 亚洲va中文字幕| 久久亚洲资源| 欧美成人精品影院| 亚洲www.| 美国一级片在线观看| 乳奴隷乳フ辱| 亚洲精品无码专区| 丁香六月激情网| 麻豆精品蜜桃一区二区三区| 一区二区三区日本视频| 国产精品亚洲网站| 最近2019年好看中文字幕视频| 素人一区二区三区| 新91视频在线观看| 五月天婷婷在线播放| 天堂在线免费av| 狠狠色狠狠色综合日日小说| 国内精品女同女同一区二区三区| 欧美国产欧美亚州国产日韩mv天天看完整| 黄色大片免费观看| 狠狠久久亚洲欧美专区| 永久免费黄色软件| 欧美黄页在线免费观看| 精品国产av鲁一鲁一区| 国产久一一精品| 免费观看美女裸体网站| 4438x成人网全国最大| 色一情一交一乱一区二区三区| 国产自产视频一区二区三区| 亚洲欧美色图片| 国产精品密蕾丝视频下载| 国产伦精品一区二区三区视频孕妇| 久久国产婷婷国产香蕉| www.青青青| 亚洲精品2区| 狠狠色狠色综合曰曰| 中文字幕乱码人妻综合二区三区| 精品国产美女福利到在线不卡| 日韩在线观看视频一区二区三区| 黄色污污在线观看| 国产午夜精品一区二区理论影院| 午夜偷拍福利视频| 欧美黑人3p| 亚洲涩涩在线| 久久99国产精品麻豆| 久久久资源网| 日韩a∨精品日韩在线观看| 国产真实乱人偷精品人妻| 国产内射老熟女aaaa∵| 一区二区三区四区高清视频| 精品日本视频| 欧美夫妻性视频| 色综合久久久久综合体桃花网| 99精品视频一区二区三区| 国产91在线免费| 欧美色综合一区二区三区| 久久免费视频这里只有精品| 国产91九色蝌蚪| 成人精品国产亚洲| 日韩一区二区三区在线观看视频| 精品国偷自产在线视频| 国产破处视频在线观看| 在线视频2区| 国精品人妻无码一区二区三区喝尿| 亚洲资源一区| 精品一区二区久久久久久久网站| 日韩久久久久久久久久久久| 九色蝌蚪在线观看| 午夜影院韩国伦理在线| 精品伊人久久| 欧美性感一区二区三区| 日本欧美大码aⅴ在线播放| 久久精品99国产精品| 一区二区三区视频播放| 黄色一级视频播放| 免费av网站在线观看| 亚洲无码精品在线播放| 99热在线精品观看| 在线观看中文字幕的网站| 国产mv日韩mv欧美| 亚洲一区av在线| 色网站免费观看| 久久精品久久久久久久| 久久综合桃花网| 日韩在线观看免费网站| 国产精品丝袜久久久久久高清| 久久精品最新免费国产成人| 日本我和搜子同居的日子高清在线| 福利在线一区二区三区| 欧美日韩爱爱视频| 中文字幕第八页| 久久在线视频在线| 国产精品久久久久久久久久久久久久久久| 国产91在线免费观看| 97av视频在线| 天堂аⅴ在线最新版在线| 91制片厂在线| 一区二区电影| 欧美xx在线| 国产va亚洲va在线va| 正在播放国产对白害羞| 一区二区欧美日韩| 精品欧美一区免费观看α√| 99国产精品久久久久| 9999精品成人免费毛片在线看| 国产在线观看你懂的| 欧美日韩久久久久久| www国产一区| 99riav一区二区三区| 亚洲综合在线一区| 欧美videossexotv100| 国产情人节一区| 成年人三级黄色片| 日韩精品一区二区三区高清免费| 伊人电影在线观看| 亚洲成人自拍偷拍| aaaa欧美| 国产成人a人亚洲精品无码| 国产精品偷拍| 国产成人精品一区二区在线小狼| 在线观看不卡视频| 亚洲精品在线播放视频| 日韩欧美成人免费视频| 首页国产欧美日韩丝袜| 亚洲国产成人av好男人在线观看| 91热这里只有精品| 麻豆导航在线观看| 佐佐木明希电影| 2023亚洲男人天堂| 视频一区二区精品| 欧美在线观看你懂的| 99精品全国免费观看视频软件| av动漫一区二区| 黄色网址网站在线观看| 午夜在线视频播放| 老熟妇精品一区二区三区| 国产又黄又猛又粗又爽的视频| 嫩草研究院在线观看| 欧美国产专区| 成人小电影网站| 91成人国产精品| 欧美日韩在线视频免费播放| 91theporn国产在线观看| 国产成人aa在线观看网站站| 国产喷水福利在线视频| 国产精品免费观看视频| 久久精品99久久久久久| 99久久精品国产亚洲| 国产亚洲激情在线| 黄色日韩精品| 在线激情影院一区| 裸体武打性艳史| 亚洲国产天堂网精品网站| 欧美一卡2卡3卡4卡无卡免费观看水多多| 色爽爽爽爽爽爽爽爽| 91精品国产一区二区三密臀| 国外色69视频在线观看| 成人无码精品1区2区3区免费看| 国产视频91在线| 亚洲综合小说区| 中文av资源在线| 性xxxx丰满孕妇xxxx另类| 亚洲天天在线日亚洲洲精| 成年人免费观看视频网站| 精品久久精品久久| 婷婷亚洲最大| 欧美日一区二区三区在线观看国产免| 久久99国产精品麻豆| 日韩中文一区二区三区| 亚洲自拍偷拍精品| 久久99精品久久久久婷婷| 欧美特黄a级高清免费大片a级| 福利一区二区三区视频在线观看| 在线观看国产精品入口男同| 中文字幕乱码一区二区| 97在线播放免费观看| 日韩中文欧美| 精品国产乱码久久久久久影片| 秋霞网一区二区| 欧美影视资讯| 成人黄色电影在线| 国产精品情趣视频| 成人av片在线观看| 久久精品—区二区三区舞蹈| 久久成人免费| 欧美日本高清视频在线观看| 欧美区一区二区| 国产成人久久婷婷精品流白浆| 97人妻精品视频一区| 国产婷婷在线视频| 888奇米影视| 最近中文字幕大全中文字幕免费| 久久99精品久久久久久秒播放器| 久久久av水蜜桃| 久久精品视频6| 亚洲欧美激情国产综合久久久| 久久精品夜夜夜夜夜久久| 亚洲熟妇无码久久精品| 337人体粉嫩噜噜噜| 精品国产精品| 欧美一级片在线观看| 99精品视频网| 精品人妻一区二区三区免费看| 少妇毛片一区二区三区| 中文字幕在线一区二区三区| 亚洲欧美成人vr| 国自产拍偷拍精品啪啪一区二区| 欧洲黄色一级视频| 午夜在线a亚洲v天堂网2018| 成人小视频在线播放| 国产91在线播放九色快色| 双性尿奴穿贞c带憋尿| 激情乱色小说视频| 欧美片第1页综合| 5566先锋影音夜色资源站在线观看| 4hu四虎永久在线观看| 久久久精品网| 国产绿帽刺激高潮对白| 亚洲一区www| 国产福利一区二区在线精品| 日韩精品一区二区三区三区免费| 任你操这里只有精品| 伊人精品成人久久综合软件| 秋霞综合在线视频| 成人春色激情网| 欧美中文字幕在线| 国产成人亚洲欧美| 黄色免费大片| 黄色免费高清视频| 欧美性猛交xxxx乱大交少妇| 亚洲精品国产综合久久| 亚洲线精品久久一区二区三区| 色噜噜狠狠一区二区三区狼国成人| 欧美xxxx黑人又粗又长| 黄色片视频免费| 国产日韩影视精品| 性直播在线观看| 免费永久网站黄欧美| 丰满大乳奶做爰ⅹxx视频| 免费人成精品欧美精品| 91麻豆国产在线观看| 黄色网页在线| 大黑人xxx| 最新91视频| 精品在线视频观看| 日韩美女一区二区三区在线观看| 日韩美女av在线| 国产亚洲精品成人| 中国日本在线视频中文字幕| 麻豆天美蜜桃91| 欧美三级在线看| 国产一区二区三区成人欧美日韩在线观看| 久久精品小视频| 麻豆mv在线观看|