设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
PHP SPL标准库之数据结构堆(SplHeap)简单使用实例 ...
返回列表
查看:
440
|
回复:
0
PHP SPL标准库之数据结构堆(SplHeap)简单使用实例
[复制链接]
bewin83
当前离线
积分
7520
2500
主题
2513
帖子
7520
积分
论坛元老
论坛元老, 积分 7520, 距离下一级还需 9992479 积分
论坛元老, 积分 7520, 距离下一级还需 9992479 积分
积分
7520
发消息
电梯直达
楼主
发表于 2018-2-14 05:46:17
|
只看该作者
|
倒序浏览
|
阅读模式
堆(Heap)就是为了实现优先队列而设计的一种数据结构,它是通过构造二叉堆(二叉树的一种)实现。根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。二叉堆还常用于排序(堆排序)。
如下:最小堆(任意节点的优先级不小于它的子节点)
看看
PHP SplHeap
的实现:
显然它是一个抽象类,最大堆(
SplMaxHeap
)和最小堆(
SplMinHeap
)就是继承它实现的。最大堆和最小堆并没有额外的方法
SplHeap的简单使用如下:
class MySimpleHeap extends SplHeap
{
//compare()方法用来比较两个元素的大小,绝对他们在堆中的位置
public function compare( $value1, $value2 ) {
return ( $value1 - $value2 );
}
}
$obj = new MySimpleHeap();
$obj->insert( 4 );
$obj->insert( 8 );
$obj->insert( 1 );
$obj->insert( 0 );
echo $obj->top(); //8
echo $obj->count(); //4
foreach( $obj as $number ) {
echo $number;
}
您可能感兴趣的文章:
PHP中使用数组实现堆栈数据结构的代码
php数据结构与算法(PHP描述) 查找与二分法查找
php全排列递归算法代码
php求数组全排列,元素所有组合的方法
浅谈PHP链表数据结构(单链表)
php求数组全排列,元素所有组合的方法总结
PHP常用算法和数据结构示例(必看篇)
PHP实现的简单排列组合算法应用示例
基于PHP实现栈数据结构和括号匹配算法示例
php 数据结构之链表队列
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端