这些都是真实的IT公司招聘PHP程序员的面试题,这些都是简单的基本算法。包括:冒泡算法、快速排序算法、二分查找算法、顺序算法。
冒泡排序,对象可以是一个数组
01 |
function bubble_sort($array){ |
02 |
$count = count($array); |
06 |
for($i=0; $i<$count; $i++){ |
07 |
for($j=$count-1; $j>$i; $j--){ |
08 |
if ($array[$j] < $array[$j-1]){ |
10 |
$array[$j] = $array[$j-1]; |
快速排序,对象可以是一个数组
01 |
function quick_sort($array) { |
02 |
if (count($array) <= 1){ |
08 |
for ($i=1; $i<count($array); $i++){ |
09 |
if ($array[$i] <= $key){ |
10 |
$left_arr[] = $array[$i]; |
12 |
$right_arr[] = $array[$i]; |
15 |
$left_arr = quick_sort($left_arr); |
16 |
$right_arr = quick_sort($right_arr); |
17 |
return array_merge($left_arr, array($key), $right_arr); |
二分查找
02 |
function bin_sch($array, $low, $high, $k){ |
04 |
$mid = intval(($low+$high)/2); |
05 |
if ($array[$mid] == $k){ |
07 |
}elseif ($k < $array[$mid]){ |
08 |
return bin_sch($array, $low, $mid-1, $k); |
10 |
return bin_sch($array, $mid+1, $high, $k); |
顺序查找
02 |
function seq_sch($array, $n, $k){ |
04 |
for($i=0; $i<$n; $i++){ |
写一个二维数组排序算法函数,可以调用php内置函数,能够具有通用性
01 |
function array_sort($arr, $keys, $order=0) { |
02 |
if (!is_array($arr)) { |
06 |
foreach($arr as $key => $val) { |
07 |
$keysvalue[$key] = $val[$keys]; |
15 |
foreach($keysvalue as $key => $vals) { |
16 |
$keysort[$key] = $key; |
19 |
foreach($keysort as $key => $val) { |
20 |
$new_array[$key] = $arr[$val]; |
原文地址:http://www.springload.cn/springload/detail/326
- 面试常用算法——Longest Palindromic Substring(最长回文子串)
第一种: public static void main(String[] args) { String s = "abcbaaaaabcdcba"; int n,m; Strin ...
- 面试常用算法总结——排序算法(java版)
排序算法 重要性不言而喻,很多算法问题往往选择一个好的排序算法往往问题可以迎刃而解 1.冒泡算法 冒泡排序(Bubble Sort)也是一种简单直观的排序算法.它重复地走访过要排序的数列,一次比较两个 ...
- PHP面试常用算法(推荐)
一.冒泡排序 基本思想: 对需要排序的数组从后往前(逆序)进行多遍的扫描,当发现相邻的两个数值的次序与排序要求的规则不一致时,就将这两个数值进行交换.这样比较小(大)的数值就将逐渐从后面向前面移动. ...
- Java && Python 算法面试常用类以及方法总结
数据结构 逻辑结构上: 包括集合,线性结构,非线性结构. 存储结构: 顺序存储,链式存储,索引存储,散列存储. Java 常见数据结构 大专栏 Java && Python 算法面试 ...
- 编程之法:面试和算法心得(字符串包含java实现)
内容全部来自编程之法:面试和算法心得一书,实现是自己写的使用的是java 题目描述 给定两个分别由字母组成的字符串A和字符串B,字符串B的长度比字符串A短.请问,如何最快地判断字符串B中所有字母是否都 ...
- PHP版常用算法
PHP版常用算法最近准备面试的资料,顺便整理一下以前的基本算法,写个DEMO记录一下 //冒泡//逐行对比,满足条件则交换function bubbleSort($arrData,$sort = 'd ...
- 总结Objective-c常用算法
今天是星期天,想睡到10点起床,结果认为自己太奢侈了,不能这么做,于是把闹钟设置成了6:30:结果终于9:36醒了,起床,无缘无故迟了,好吧,就算太累了吧,周天就原谅自己一回.终于到了中午 ...
- Atitit 编程语言常用算法attilax总结
Atitit 编程语言常用算法attilax总结 1. 编译算法分类and 数据操作算法.1 1.1. Tab driver stat 状态转换表格算法1 1.2. Nest case 词法分析 ...
- GJM : 数据结构 - 轻松看懂机器学习十大常用算法 [转载]
转载请联系原文作者 需要获得授权,非法转载 原文作者将享受侵权诉讼 文/不会停的蜗牛(简书作者)原文链接:http://www.jianshu.com/p/55a67c12d3e9 通过本篇文章可以 ...
随机推荐
- (转)理解OAuth 2.0
转自:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛 ...
- ejabberd源码流程梳理
ejabberd的工程主要通过ejabberd.app 组织起来 ejabberd.erl : application:start(ejabberd). ejabberd_app.erl: Mod:s ...
- 一个简单的MDI示范程序(Delphi)
http://www.cnblogs.com/pchmonster/archive/2012/01/07/2316012.html 最为一个巩固之前有关窗体和对象的有关知识,下面就建立一个简单的MDI ...
- input文字方框中,字体颜色的变化 要求默认的字体颜色是灰色,当要输入字时,字体是正常的黑色
1 <input type=text name='address' size=60 maxlength=60 style="color:gray" value="( ...
- NOIP2010 乌龟棋
2乌龟棋 题目背景 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 题目描述 乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数).棋盘第1格是唯一的起点,第N格是终点,游戏要求玩家控制一个乌 ...
- 可以使用Markdown了?
园子果然领先 1.标题类 一级标题 二级标题 三级标题 四级 六级 怎么可以用#号?上传上去看看 2.换行 第一行 换一行 在换一行 3.多个下划线 the_odd_egg odd 斜体用星号 4.删 ...
- mssql存储过程demo
ALTER PROCEDURE [dbo].[sp_get_saleData]ASBEGIN set nocount on -- 获取最近上传数据的时间戳 declare @dd datetime s ...
- Android 画图类View与SurfaceView之学习
在开发游戏开发中,android相应的提供了几个重要的模块: 1.显示界面的视图: Android 提供 View 和 SurfaceView 2.控制游戏整体结构: android 提供 Acti ...
- C#模仿360安全卫士玻璃按钮,不闪烁,背景切换效率快
首先先上效果图: 1.准备两张透明的png图片(尺寸74 x 82),一张用于鼠标进入控件时显示,一张用于鼠标单击控件时显示 2.拖一个GlassButton按钮 3.设置按钮属性 this.btnE ...
- IPO
Initial Public Offerings,简称IPO,首次公开募股(Initial Public Offerings,简称IPO):是指一家企业或公司 [1] (股份有限公司)第一次将它的股份 ...