知识大全 php 常用算法和时间复杂度

Posted

篇首语:提兵百万西湖上,立马吴山第一峰!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 php 常用算法和时间复杂度相关的知识,希望对你有一定的参考价值。

本篇文章是对php中的常用算法以及时间复杂度进行了详细的分析介绍 需要的朋友参考下  

  按数量级递增排列 常见的时间复杂度有 常数阶O( ) 对数阶O(log n) 线性阶O(n) 线性对数阶O(nlog n) 平方阶O(n ) 立方阶O(n )

复制代码 代码如下: //二分查找O(log n) function erfen($a $l $h $f) if($l >$h) return false; $m = intval(($l+$h)/ ); if ($a[$m] == $f) return $m; elseif ($f < $a[$m]) return erfen($a $l $m $f); else return erfen($a $m+ $h $f); $a = array( ); var_dump(erfen($a )); //遍历树O(log n) function bianli($p) $a = array(); foreach (glob($p /* ) as $f) if(is_dir($f)) $a = array_merge($a bianli($f)); else $a[] = $f; return $a; //阶乘O(log n) function jc($n) if($n<= ) return ; else return $n*jc($n ); //快速查找 O(n *log (n)) function kuaisu($a) $c = count($a); if($c <= )return $a; $l = $r = array(); for ($i= ;$i<$c;$i++) if($a[$i] < $a[ ]) $l[] = $a[$i]; else $r[] = $a[$i]; $l = kuaisu($l); $r = kuaisu($r); return array_merge($l array($a[ ]) $r); //插入排序 O(N*N) function charu($a) $c = count($a); for($i= ;$i<$c;$i++) $t = $a[$i]; for($j=$i;$j> && $a[$j ]>$t;$j ) $a[$j] = $a[$j ]; $a[$j] = $t; return $a; //选择排序O(N*N) function xuanze($a) $c = count($a); for($i= ;$i<$c;$i++) for ($j=$i+ ;$j<$c;$j++) if($a[$i]>$a[$j]) $t = $a[$j]; $a[$j] = $a[$i]; $a[$i] = $t; return $a; //冒泡排序 O(N*N) function maopao($a) $c = count($a); for($i= ;$i<$c;$i++) for ($j=$c ;$j>$i;$j ) if($a[$j] < $a[$j ]) $t = $a[$j ]; $a[$j ] = $a[$j]; $a[$j] = $t; return $a; 复制代码 代码如下: cha138/Article/program/PHP/201311/21271

相关参考

知识大全 线性表的类型定义

第四课本课主题算法效率的度量和存储空间需求教学目的掌握算法的渐近时间复杂度和空间复杂度的意义与作用教学重点渐近时间复杂度的意义与作用及计算方法教学难点渐近时间复杂度的意义授课内容一算法效率的度量算法执

知识大全 数据结构 面试题 3

一个算法通常由哪两种基本要素组成?答案一是对数据对象的运算和操作二是算法的控制结构算法的复杂度主要包括什么?答案时间复杂度和空间复杂度实现算法所需的存储单元多少和算法的工作量大小分别称为算法的空间复杂

知识大全 基于php常用函数总结(数组,字符串,时间,文件操作)

  数组:【重点】implode(分隔arr)把数组值数据按指定字符连接起来例如$arr=array();$str=implode($arr);explode([分隔]arr)按指定规则对一个字符串进

知识大全 09年自考《数据结构》各章要点二[5]

  构造最小生成树的算法  ·Prim算法的时间复杂度为O(n^)与边数无关适于稠密图  ·Kruskal算法的时间复杂度为O(lge)主要取决于边数较适合于稀疏图  最短路径的算法  ·Dijkst

知识大全 排序 - 交换排序 - 冒泡排序(二)

  算法分析  ()算法的最好时间复杂度  若文件的初始状态是正序的一趟扫描即可完成排序所需的关键字比较次数C和记录移动次数M均达到最小值  Cmin=n  Mmin=  冒泡排序最好的时间复杂度为O

知识大全 php 地区分类排序算法

本篇文章是对使用php实现地区分类排序算法进行了详细的分析介绍需要的朋友参考下   写一个函数将数据$array=array(=>array("""河北")=>array("""

知识大全 PHP实现插入排序算法

PHP实现插入排序算法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  插入排序(Insertio

知识大全 简单的PHP日历算法

简单的PHP日历算法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!/**  *

知识大全 微博短链接算法PHP版本

微博短链接算法PHP版本  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    思路  )将长网址m

知识大全 数据结构与算法线性表复习习题6[1]

  已知AB和C为三个递增有序的线性表现要求对A表作如下操作删去那些既在B表中出现又在C表中出现的元素试对顺序表编写实现上述操作的算法并分析你的算法的时间复杂度(注意题中没有特别指明同一表中的元素值各