E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
PHP算法
php算法
和数据结构
php算法
和数据结构2017/11/01|未分类|songjian|1条评论|1818views?php/***CreatedbyPhpStorm.
懒猫1
·
2020-07-08 02:36
PHP算法
系列教程(二)-希尔排序
希尔排序基本概念希尔排序(Shell'sSort)是插入排序的一种又称“缩小增量排序”(DiminishingIncrementSort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法.希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止.人话(图解shell排序)数
guijianshi
·
2020-07-02 01:04
PHP算法
题
1.使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组//冒泡排序(数组排序)//$array数组functionbubble_sort($array){$count=count($array);if($count$i;$j--){if($array[$j]1){$k=$arr[0];$x=array();$y=array();$_size=count($arr);for($i=1;$i$k
妈妈炒的菜
·
2020-06-28 20:16
PHP算法
之斐波那契数列(递归)
/*斐波那契数列源代码分析f(x)=1;当x=2;通项式为:fn={((1+根号5)/2)^n-((1-根号5)/2)^n}/(根号5)则根据通项式构造函数求fn;*///计时函数console.time()//计时开始console.timeEnd()//计时结束并输出时长console.time();vari;vartotal;//方法一使用原始方法functionfibo(i){if(i==
weixin_30878361
·
2020-06-28 01:07
几个
PHP算法
题
有5个人偷了一堆苹果,准备在第二天分赃。晚上,有一人遛出来,把所有菜果分成5份,但是多了一个,顺手把这个扔给树上的猴了,自己先拿1/5藏了。没想到其他四人也都是这么想的,都如第一个人一样分成5份把多的那一个扔给了猴,偷走了1/5。第二天,大家分赃,也是分成5份多一个扔给猴了。最后一人分了一份。问:共有多少苹果?PHP代码如下:for($i=1;;$i++){if($i%5==1){//第一个人取五
weixin_30706507
·
2020-06-27 23:52
PHP算法
系列教程(一)-四大排序算法
PHP算法
系列教程(一)-四大排序算法冒泡冒泡排序原理图BUBBLESORTGIF.giffunctionbubbleSort($arr){$len=count($arr);for($i=1;$i$arr
guijianshi
·
2020-06-27 03:02
PHP算法
题:用冒泡法对数组进行排序
用冒泡法对下列数组进行排序:$arr=array(10,8,5,11,4,10,7,20,5,13,2);**方案一:递归**$num=0;//将最大值放到后面functionmaopao($arr){global$num;//结束递归if(count($arr)==1)return$arr;for($i=0;$i";if($arr[$i]>$arr[$i+1]){//位置对调$temp=$arr
152910000
·
2020-06-23 17:17
PHP
PHP算法
实战-面试题(1)
二分查找基本思想:假设数据是按升序排序的,对于给定值x,从序列的中间位置开始比较,如果当前位置值等于x,则查找成功;若x小于当前位置值,则在数列的前半段中查找;若x大于当前位置值则在数列的后半段中继续查找,直到找到为止。(数据量大的时候使用)顺序查找基本思想:从数组的第一个元素开始一个一个向下查找,如果有和目标一致的元素,查找成功;如果到最后一个元素仍没有目标元素,则查找失败。简化增强版本func
chenrui310
·
2020-06-22 22:51
算法
PHP算法
:有效的括号
//主要利用了栈的特性去处理,为什么用栈呢?是因为按照规则推导,第一个闭合的符号左边一定是与之匹配的开始的符号其实这就很像各种IDE里边判断是否有简单的语法错误functionisValid($s){$len=strlen($s);//leecode认为空值是满足if($len==0){returntrue;}//如果其中有空字符串或者字符串长度为奇数则为false$ts=str_replace(
allenxiaoyao
·
2020-06-22 13:32
PHP
算法
最新php面试题及答案
php算法
题(共12题)(1)有一串数字1,2,3,4,5,6,组成一个随机数组,并且第3个位置不能为5,然后5,6不能连续。。(
Huangwenting1990
·
2020-06-21 21:20
PHP算法
题
一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n,输出最后那个大王的编号。1
这个名字怎么用不了
·
2020-01-02 22:00
PHP算法
PHP算法
使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组二分查找(数组里查找某个元素)functionbin_sch($array,$low,$high
景岳
·
2019-12-28 04:26
php算法
实例分享
只打印0具体个数由输入的参数n决定如n=5就打印00000打印一行0101010101010101010101具体个数由输入的参数n决定如test.php?n=3打印010实现100111000011111forif实现';}?>forswitch实现';}?>whileif实现whileswitch实现';$i++;}?>实现0010100101……实现00101201233210210100做
·
2019-09-25 03:26
php算法
题:306累加数
306.累加数题目链接:https://leetcode-cn.com/probl...难度:中等题目描述累加数是一个字符串,组成它的数字可以形成累加序列。一个有效的累加序列必须至少包含3个数。除了最开始的两个数以外,字符串中的其他数都等于它之前两个数相加的和。给定一个只包含数字'0'-'9'的字符串,编写一个算法来判断给定输入是否是累加数。说明:累加序列里的数不会以0开头,所以不会出现1,2,0
iMine
·
2019-09-23 06:23
php
php算法
题:448找到所有数组中消失的数字
448.找到所有数组中消失的数字题目链接:https://leetcode-cn.com/probl...难度:简单题目描述给定一个范围在1≤a[i]≤n(n=数组大小)的整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在[1,n]范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗?你可以假定返回的数组不算在额外空间内。示例输入:[4,
iMine
·
2019-09-23 06:18
leetcode
php
php算法
题:8字符串转整数
8.myAtoi给出一个32位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入:"42"输出:42示例2:输入:"-42"输出:-42解释:第一个非空白字符为'-',它是一个负号。 我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到-42。示例3:输入:"4193withwords"输出:4193解释:转换截止于数字'3',因为它的下一个字符不为数字。示例4:输入:"wo
iMine
·
2019-08-26 00:00
php
leetcode
php算法
题:7整数反转
7.整数反转给出一个32位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入:123输出:321示例2:输入:-123输出:-321示例3:输入:120输出:21一、思路:首先按照取余,和除的方式,来反转整数int。但是有一个问题就是,就是反转之后的可能会超过整数int的范围。这里提一下就是php没有常量表示32位有符号int的大小,所以就需要自己算functionreverse(
iMine
·
2019-08-22 00:00
php
leetcode
PHP算法
之猴子选大王
猴子选大王一群猴子要选新猴王。新猴王的选择方法是:让M只候选猴子围成一圈,从某位置起顺序编号为1~M号。从第1号开始报数,每轮从1报到N,凡报到N的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?输入请输入猴子的数量m11请输入要排除第几个猴子n3输出7分析常规做法又两种,一种是数组,一种是链表,(数学方法不考虑)。
小牛_6666
·
2019-08-19 15:59
php算法
题:最长回文子串
5:最长回文子串给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为1000。示例1:输入:"babad"输出:"bab"注意:"aba"也是一个有效答案。示例2:输入:"cbbd"输出:"bb"一、法一暴力破解这个就不用多解释了classSolution{/***法一:*@paramString$s*@returnString*/functionlongestPalindrome(
iMine
·
2019-08-19 00:00
php
leetcode
php算法
题:寻找有序数组的中位数
4.FindMedianSortedArraysTherearetwosortedarraysnums1andnums2ofsizemandnrespectively.Findthemedianofthetwosortedarrays.TheoverallruntimecomplexityshouldbeO(log(m+n)).Youmayassumenums1andnums2cannotbebo
iMine
·
2019-05-26 00:00
二分查找
leetcode
php
php算法
1.直接插入算法原理:将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。//方法一/***@param$arr需排序的数组*/functioninsert_sort($arr){$count=count($arr);for($i=0;$i$arr[$j]){$temp=$arr
yuanlu954
·
2019-02-26 18:54
PHP算法
之四大基础算法
前言虽然工作中,你觉得自己并没有涉及到算法这方面的东西,但是算法是程序的核心,一个程序的好与差,关键是这个程序算法的优劣,所以对于冒泡排序、插入排序、选择排序、快速排序这四种基本算法,我想还是要掌握的。冒泡排序法冒泡排序大概的意思是依次比较相邻的两个数,然后根据大小做出排序,直至最后两位数。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。冒泡是从前往后冒,所以,每轮
gxcuizy
·
2018-09-19 00:00
排序
算法
php
[
php算法
]查找和排序
阅读更多';print_r($obj);echo'';}//交换数据functionswap(&$a,&$b){$tmp=$a;$a=$b;$b=$tmp;}//快速排序functionquick_sort($a){if(count($a)=0)&&$a[$j]>$temp);$j--){$a[$j+1]=$a[$j];}$a[$j+1]=$temp;}}return$a;}//冒泡排序funct
liu86th
·
2018-06-06 14:00
php 算法之实现相对路径的实例
php算法
之实现相对路径的实例算出相对路径(相同的目录可以忽略用../或者.
xingjigongsi
·
2017-10-17 14:13
PHP环形链表实现方法示例
从而形成一个环,环形链表是一种非常灵活的存储结构,可解决许多实际问题,魔术师发牌问题和约瑟夫问题都能利用环形链表来解决,下面是一个完整的环形链表实例,使用php来实现的(参照韩顺平老师的
php算法
教程)
巷雨微若
·
2017-09-15 11:44
PHP算法
-生成序列号
阅读更多/***根据当前无重复的$codes,补充生成长度为$length,总数为$amount的**@paramint$length*长度*@paramint$amount*需要总数*@paramstring$prefix*前缀*@paramarray$codes*初始codes*@returnarray$codes无重复的codes,含输入参数*/myrand($length,$amount=
erntoo
·
2017-09-08 14:00
php
算法
递归
序列号
PHP算法
-生成序列号
阅读更多/***根据当前无重复的$codes,补充生成长度为$length,总数为$amount的**@paramint$length*长度*@paramint$amount*需要总数*@paramstring$prefix*前缀*@paramarray$codes*初始codes*@returnarray$codes无重复的codes,含输入参数*/myrand($length,$amount=
erntoo
·
2017-09-08 14:00
php
算法
递归
序列号
PHP算法
-插入排序
阅读更多/***插入排序**@paramArray$arr*/functioninsert_sort($arr){$count=count($arr);for($i=1;$i=0&&$tmp<$arr[$key]){$arr[$key+1]=$arr[$key];$key--;}if(($key+1)!=$i)$arr[$key+1]=$tmp;}return$arr;}
erntoo
·
2017-09-03 08:00
PHP
算法
排序
插入排序
PHP算法
-选择排序
阅读更多/***选择排序循环遍历每次选择最小的**@paramArray$arr*/functionselect_sort($arr,$tmp_arr=[]){$count=count($arr);if($count=$arr[$i]){$tmp=$arr[$i];$key=$i;}}unset($arr[$key]);$arr=array_values($arr);$_arr=array_mer
erntoo
·
2017-09-01 03:00
PHP
算法
选择排序
排序
PHP算法
-快速排序 分治法
阅读更多/***快速排序分治法*1把小于指定数($key=$arr[0])的放在左侧数组(left);大于$key放在右侧数组*2合并数组**@paramunknown$arr*/functionquick_sort($arr){$count=count($arr);if(count($arr)>1){$key=$arr[0];$left=[];$right=[];for($i=1;$i$key)
erntoo
·
2017-09-01 03:00
PHP
算法
排序
快速排序
分治法
PHP算法
-快速排序 分治法
阅读更多/***快速排序分治法*1把小于指定数($key=$arr[0])的放在左侧数组(left);大于$key放在右侧数组*2合并数组**@paramunknown$arr*/functionquick_sort($arr){$count=count($arr);if(count($arr)>1){$key=$arr[0];$left=[];$right=[];for($i=1;$i$key)
erntoo
·
2017-09-01 03:00
PHP
算法
排序
快速排序
分治法
PHP算法
-归并排序
阅读更多functionmerge_sort($arr){$count=count($arr);if($count<=1){return$arr;}$mid=floor($count/2);$left_arr=array_slice($arr,0,$mid);//递归分拆数组比较$right_arr=array_slice($arr,$mid);$left_arr=merge_sort($left
erntoo
·
2017-09-01 03:00
php
排序
算法
归并
PHP算法
-冒泡排序
阅读更多functionbubble_sort($arr){$count=count($arr);if($count$arr[$j+1]){$tmp=$arr[$j];$arr[$j]=$arr[$j+1];$arr[$j+1]=$tmp;}}}}
erntoo
·
2017-09-01 03:00
php
算法
排序
冒泡
PHP算法
-二分法查找
阅读更多***二分法查找*在有序数组中查询**@paramint$needle*@paramarray$arr*/functiondichotomize_search($needle,$arr){$count=count($arr);if($count$needle){$last=$mid-1;}elseif($arr[$mid]<$needle){$first=$mid-1;}else{retu
erntoo
·
2017-09-01 03:00
PHP
算法
二分法
一个简单的
php算法
guanchaoguo
·
2017-04-26 10:00
php
php算法
之冒泡法
hgditren
·
2017-01-09 11:22
php
冒泡
buddle
PHP
最新php面试题及答案
php算法
题(共12题)(1)有一串数字1,2,3,4,5,6,组成一个随机数组,并且第3个位置不能为5,然后5,6不能连续。。(
Huangwenting1990
·
2016-11-04 19:00
php算法
-牛群增长
有一母牛,到4岁可生育,每年一头,所生均是一样的母牛,到15岁绝育,不能再生,20岁死亡,n年后有多少头?
myhuashengmi
·
2016-06-17 14:00
php算法
之快速排序
快速排序法如果要做到可以随手写出快速排序算法,那首先你就必须了解快速排序的机制到底是什么样子的。我们就先从快排的原理入手。假如我们有一个待排序数组:$array=array(5,7,4,2,11,10,6);快排的原理是这个样子的,首先我们清楚快排肯定要用到递归的方法来完成排序,那么,每一次递归都做了什么工作呢?其实每一次递归的工作非常简单;1。首先,选出来数组的第一个元素,作为对比值,$arra
json_ligege
·
2016-04-20 18:00
php算法
之插入排序
插入排序法插入排序思路: 将数组分成两个区域:已排序区域和未排序区域。首先假设数组的第一个元素处于已排序区域, 第一个元素之后的所有元素都处于未排序区域。 排序时用到两层循环,第一层循环用于从未排序区域中取出待排序元素,并逐步缩小未排序区域, 第二层循环用于从已排序区域中寻找插入位置(即不断地从已排序区域中寻找比待排序元素大的元素, 然后将较大的已排序区的元素后移,后移的最终结
json_ligege
·
2016-04-20 18:00
php算法
之选择排序
选择排序法:选择排序法思路:每次选择一个相应的元素,然后将其放到指定的位置每次通过内循环使假定的最小值与其他值得对比得到最小值 并通过内循环下的if条件选择进行位置交换每层循环确定一个最小值例数组10,3,7,2,9,11,1 假定$min_k=0最小值下标第一层 3,10,7,2,9,11,1 $min_k=1 3,10,7,2,9,11,1 $min_k=1
json_ligege
·
2016-04-20 16:00
php算法
之冒泡排序
思路分析:法如其名,就是像冒泡一样,每次从数组当中冒一个最大的数出来。 比如:2,4,1 //第一次冒出的泡是4 2,1,4 //第二次冒出的泡是2 1,2,4 //最后就变成这样 通过循环套循环 实现里面的循环比外面循环少一次 思路:相邻的俩数相比较,大的向后挪动一位 每次循环数组最后一位为最大值 每次循环冒出一个数最大值代码:$arr[$k+1]) {
json_ligege
·
2016-04-20 11:00
php算法
1、冒泡排序2、归并排序3、二分查找-递归4、二分查找-非递归5、快速排序6、选择排序7、插入排序下面一一示例介绍1、冒泡排序 function bubble_sort($arr) { $n=count($arr); for($i=0;$i$high) return false; else { $mid=floor(($low+$high)/2);
开发者007号
·
2016-03-23 14:00
PHP算法
分析
偶然间在网上看到了一篇文章《程序员必须知道的10大基础实用算法及其讲解》,发现一个不懂算法的程序猿算不上一个合格的猿,所以接下来的目标又多出了一个算法和数据结构。本文的算法全部使用PHP语言实现。1.快速排序算法在我看来快速排序就是先找到一个基准,然后创建两个数组,把大于这个基准的数字放到一个数组里,小于这个基准的数字放到一个数组里,然后在两个数组里分别再进行判断。具体实现:1){ $k=$arr
sinat_21125451
·
2016-03-20 11:00
PHP算法
--将数字金额转换成大写金额
最近在看一些
PHP算法
题,遇到一个将数字金额转换成大写金额的小算法题,这里贴出自己的一个例子。注:这个小算法适用于10万以内的金额。
superfat
·
2016-02-25 19:00
PHP算法
--将数字金额转换成大写金额
最近在看一些
PHP算法
题,遇到一个将数字金额转换成大写金额的小算法题,这里贴出自己的一个例子。注:这个小算法适用于10万以内的金额。
superfat
·
2016-02-25 19:00
PHP算法
之二分查找和顺序查找
functionbin_sch($array,$low,$high,$k){if($low<=$high){$mid=intval(($low+$high)/2);if($array[$mid]==$k){return$mid;}elseif($k<$array[$mid]){returnbin_sch($array,$low,$mid-1,$k);}else{returnbin_such($ar
echocdzhphp
·
2015-12-14 14:25
php
二分查找
算法
函数
php
开发应用
PHP算法
每日一练 -- 堆栈(计算器)
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999
·
2015-11-12 13:27
PHP
PHP算法
每日一练 -- 堆栈
1 <?php 2 /**堆栈 使用数组模拟入栈和出栈*/ 3 class myStark{ 4 public $top = -1; 5 public $maxStark = 5; 6 public $stark = array(); 7 public function __construct(){ 8 9 } 1
·
2015-11-12 13:26
PHP
PHP算法
每日一练 -- 单链表
1 <?php 2 /**单向链表 -- 水浒传英雄排行版*/ 3 class hero{ 4 public $name = ''; 5 public $no =''; 6 public $cname = ''; 7 public $next = ''; 8 public function __construct($no
·
2015-11-12 13:25
PHP
上一页
1
2
3
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他