![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法及数据结构等
怕是不尽芳华
这个作者很懒,什么都没留下…
展开
-
php实现归并算法
原理:将原来的序列,拆分为单个的小序列(整个数组未改变,只是指针指向下标)<?php//交换函数(没用到)function swap(array &$arr,$a,$b){ $temp = $arr[$a]; $arr[$a] = $arr[$b]; $arr[$b] = $temp;}//归并算法总函数function MergeSort(arr...原创 2018-04-27 16:52:36 · 524 阅读 · 0 评论 -
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。php
思路:定义一个数组,将原链表循环一次封装到数组,运用数组函数倒序输出。function printListFromTailToHead($head){ // write code here //定义一个链表 $lists = []; //循环链表,倒着输出 while($head != null) { array_push($...原创 2018-08-14 18:01:23 · 888 阅读 · 0 评论 -
php实现红包算法(随机)
tip:两个随机发红包发红包的算法 红包的总金额 与 个数 是接收的输入值 如在开发中用到 ,可视情况更改。如有什么更好的思路,欢迎分享~<?php# 抢红包算法基础版 (金额参数以分为单位) 二倍均值法## 基本思路:剩余红包金额为M,剩余人数为N,那么有如下公式:## 每次抢到的金额 = 随机区间 (0...原创 2018-11-16 15:09:49 · 3971 阅读 · 2 评论 -
php 基础算法
tips: php基础算法 鸡尾酒来源于网络<?php// 一个数组$arr = [3,7,4,8,0,34,67,3,38,54,76,9,25,74,44];// 冒泡排序 O(N^2) 可进行边界值优化 减少比较排序次数,鸡尾酒同function MaoPao($arr) { $count = count($arr); for ($i = 0; $i &...原创 2018-11-16 16:38:04 · 156 阅读 · 0 评论 -
PHP 实现二叉堆的操作类 以及 堆排序
tips: 此处默认最小堆应用:优先队列<?php/** * 堆的代码实现 * 二叉堆本质上是一种完全二叉树 * 二叉堆虽然是一颗完全二叉树,但它的存储方式并不是链式存储,而是顺序存储。换句话说,二叉堆的所有节点都存储在数组当中。 */class HeapOperator { /** * 上浮调整 * @param array 待调整的堆 *...原创 2018-11-21 17:08:49 · 357 阅读 · 2 评论 -
php 用栈实现队列
<?php$arr1 = array();$arr2 = array();# 思路:两个栈。出栈的时候,如果栈2不为空,就出栈2。如果栈2为空,就把栈1的出栈再入栈2。// 入队列操作function pushQueue($node){ global $arr1; array_push($arr1,$node);}// 出队列操作function popQu...原创 2018-11-23 17:02:47 · 187 阅读 · 0 评论 -
PHP 计数排序 ,适用与范围内排序
<?php// 计数排序算法# 适用于一定范围内的排序function countSort ($arr) { $count = count($arr); # 获取最大的元素max、min $max = $min = $arr[0]; # 范围为min ~ max 构建统计数组 $new = []; # 便利数组填充 统计数组 for ($j = 0; $j <...原创 2018-11-23 10:21:45 · 416 阅读 · 0 评论