知识大全 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相关参考
第四课本课主题算法效率的度量和存储空间需求教学目的掌握算法的渐近时间复杂度和空间复杂度的意义与作用教学重点渐近时间复杂度的意义与作用及计算方法教学难点渐近时间复杂度的意义授课内容一算法效率的度量算法执
一个算法通常由哪两种基本要素组成?答案一是对数据对象的运算和操作二是算法的控制结构算法的复杂度主要包括什么?答案时间复杂度和空间复杂度实现算法所需的存储单元多少和算法的工作量大小分别称为算法的空间复杂
知识大全 基于php常用函数总结(数组,字符串,时间,文件操作)
数组:【重点】implode(分隔arr)把数组值数据按指定字符连接起来例如$arr=array();$str=implode($arr);explode([分隔]arr)按指定规则对一个字符串进
构造最小生成树的算法 ·Prim算法的时间复杂度为O(n^)与边数无关适于稠密图 ·Kruskal算法的时间复杂度为O(lge)主要取决于边数较适合于稀疏图 最短路径的算法 ·Dijkst
算法分析 ()算法的最好时间复杂度 若文件的初始状态是正序的一趟扫描即可完成排序所需的关键字比较次数C和记录移动次数M均达到最小值 Cmin=n Mmin= 冒泡排序最好的时间复杂度为O
本篇文章是对使用php实现地区分类排序算法进行了详细的分析介绍需要的朋友参考下 写一个函数将数据$array=array(=>array("""河北")=>array("""
PHP实现插入排序算法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 插入排序(Insertio
简单的PHP日历算法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!/** *
微博短链接算法PHP版本 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 思路 )将长网址m
已知AB和C为三个递增有序的线性表现要求对A表作如下操作删去那些既在B表中出现又在C表中出现的元素试对顺序表编写实现上述操作的算法并分析你的算法的时间复杂度(注意题中没有特别指明同一表中的元素值各