Tag: PHP
702 total results found
解决 TopK 问题的利器(下):堆排序及其应用
堆排序 上篇分享我们介绍了堆的定义及其构建,这篇教程我们来分享堆排序及其应用,堆排序的过程其实就是不断删除堆顶元素的过程。如果构建...
解决 TopK 问题的利器(上):堆和堆的构建
什么是堆 堆是一种特殊的二叉树,具备以下特性: 堆是一个完全二叉树 每个节点的值都必须大于等于(或小于等于)其左右孩子节点的...
平衡二叉树(AVL)的实现代码和算法复杂度
下面我们将上一篇分享中演示的平衡二叉树构建示例转化为 PHP 代码。 节点类 我们还是使用二叉链表来实现二叉树的存储,对应的节点...
PHP 字符串匹配函数 strstr 底层实现原理剖析
PHP 提供的字符串匹配函数多是单模式匹配,因此大多通过 KMP 算法实现,我们以 strstr 函数为例,简单对底层实现源码进行剖...
PHP 数组底层实现原理(二)
数组的初始化 数组的初始化主要是针对 HashTable 成员的设置,初始化时并不会立即分配 arData 的内存,插入第一个元素...
PHP 数组底层实现原理(一)
数组是 PHP 中非常强大、灵活的一种数据类型,和 Java、C 等静态语言不同,我们在初始化 PHP 数组的时候不必指定大小和存储...
服务拆分原则及系统架构设计
可能存在的坑 单体应用运行一段时间后,随着业务的增长,对系统性能和并发性要求越来越高,这个时候就面临着微服务重构的选择,学院君在概...
二分查找
介绍完基本的排序算法后,今天我们来介绍一种常见的高效查找算法 —— 二分查找。 二分查找的引入 在介绍二分查找之前,对于基于数字...
二叉树的遍历及代码实现
二叉树的遍历指的是从根节点出发,按照某种次序依次访问二叉树中的所有结点,使得每个结点被访问一次且仅被访问一次。 有多种方式可以遍历...
PHP 数组排序函数 sort 底层实现分析
前面我们已经介绍了线性表(即线性数据结构,如数组和链表)的常规排序算法,包括冒泡、插入、选择、归并和快排,其中综合性能最好的就是快排...
快速排序
实现原理 归并排序算法虽好,但是不是原地排序算法,需要消耗额外的内存空间,今天我们要介绍的是常规排序里综合排名最高的排序算法:快速...
选择排序
今天继续介绍排序算法,选择排序。 实现原理 选择排序算法的实现思路有点类似插入排序,也分已排序区间和未排序区间。但是选择排序每次...
插入排序
实现原理 今天继续介绍排序算法,插入排序。 插入排序的原理是:我们将数组中的数据分为两个区间,已排序区间和未排序区间。初始已排序...
冒泡排序
今天要给大家介绍的是基于选择的排序算法,常见基于选择的排序算法有冒泡排序、插入排序、选择排序、归并排序和快速排序,我们在选择排序算法...
PHP 电商单体应用准备
微服务后端框架选择 前面我们花了很大的篇幅详细介绍 Go Micro 框架,这是我们此次微服务架构课程选择的开源 RPC 框架,与...