Tag: PHP

702 total results found

解决 TopK 问题的利器(下):堆排序及其应用

数据结构与算法 二叉树

堆排序 上篇分享我们介绍了堆的定义及其构建,这篇教程我们来分享堆排序及其应用,堆排序的过程其实就是不断删除堆顶元素的过程。如果构建...

由 学院君 发布于5 years ago    浏览数: 415    点赞数: 0

解决 TopK 问题的利器(上):堆和堆的构建

数据结构与算法 二叉树

什么是堆 堆是一种特殊的二叉树,具备以下特性: 堆是一个完全二叉树 每个节点的值都必须大于等于(或小于等于)其左右孩子节点的...

由 学院君 发布于5 years ago    浏览数: 487    点赞数: 0

平衡二叉树(AVL)的实现代码和算法复杂度

数据结构与算法 二叉树

下面我们将上一篇分享中演示的平衡二叉树构建示例转化为 PHP 代码。 节点类 我们还是使用二叉链表来实现二叉树的存储,对应的节点...

由 学院君 发布于5 years ago    浏览数: 547    点赞数: 1

PHP 字符串匹配函数 strstr 底层实现原理剖析

数据结构与算法 字符串匹配

PHP 提供的字符串匹配函数多是单模式匹配,因此大多通过 KMP 算法实现,我们以 strstr 函数为例,简单对底层实现源码进行剖...

由 学院君 发布于5 years ago    浏览数: 426    点赞数: 0

PHP 数组底层实现原理(二)

数据结构与算法 散列表

数组的初始化 数组的初始化主要是针对 HashTable 成员的设置,初始化时并不会立即分配 arData 的内存,插入第一个元素...

由 学院君 发布于5 years ago    浏览数: 574    点赞数: 0

PHP 数组底层实现原理(一)

数据结构与算法 散列表

数组是 PHP 中非常强大、灵活的一种数据类型,和 Java、C 等静态语言不同,我们在初始化 PHP 数组的时候不必指定大小和存储...

由 学院君 发布于5 years ago    浏览数: 987    点赞数: 1

服务拆分原则及系统架构设计

微服务从入门到实践 项目实战

可能存在的坑 单体应用运行一段时间后,随着业务的增长,对系统性能和并发性要求越来越高,这个时候就面临着微服务重构的选择,学院君在概...

由 学院君 发布于5 years ago    浏览数: 1810    点赞数: 1

二分查找

数据结构与算法 查找算法

介绍完基本的排序算法后,今天我们来介绍一种常见的高效查找算法 —— 二分查找。 二分查找的引入 在介绍二分查找之前,对于基于数字...

由 学院君 发布于5 years ago    浏览数: 1610    点赞数: 1

二叉树的遍历及代码实现

数据结构与算法 二叉树

二叉树的遍历指的是从根节点出发,按照某种次序依次访问二叉树中的所有结点,使得每个结点被访问一次且仅被访问一次。 有多种方式可以遍历...

由 学院君 发布于5 years ago    浏览数: 1051    点赞数: 0

PHP 数组排序函数 sort 底层实现分析

数据结构与算法 排序算法

前面我们已经介绍了线性表(即线性数据结构,如数组和链表)的常规排序算法,包括冒泡、插入、选择、归并和快排,其中综合性能最好的就是快排...

由 学院君 发布于5 years ago    浏览数: 1144    点赞数: 1

快速排序

数据结构与算法 排序算法

实现原理 归并排序算法虽好,但是不是原地排序算法,需要消耗额外的内存空间,今天我们要介绍的是常规排序里综合排名最高的排序算法:快速...

由 学院君 发布于5 years ago    浏览数: 1989    点赞数: 3

选择排序

数据结构与算法 排序算法

今天继续介绍排序算法,选择排序。 实现原理 选择排序算法的实现思路有点类似插入排序,也分已排序区间和未排序区间。但是选择排序每次...

由 学院君 发布于5 years ago    浏览数: 1738    点赞数: 1

插入排序

数据结构与算法 排序算法

实现原理 今天继续介绍排序算法,插入排序。 插入排序的原理是:我们将数组中的数据分为两个区间,已排序区间和未排序区间。初始已排序...

由 学院君 发布于5 years ago    浏览数: 2346    点赞数: 0

冒泡排序

数据结构与算法 排序算法

今天要给大家介绍的是基于选择的排序算法,常见基于选择的排序算法有冒泡排序、插入排序、选择排序、归并排序和快速排序,我们在选择排序算法...

由 学院君 发布于5 years ago    浏览数: 2585    点赞数: 0

PHP 电商单体应用准备

微服务从入门到实践 项目实战

微服务后端框架选择 前面我们花了很大的篇幅详细介绍 Go Micro 框架,这是我们此次微服务架构课程选择的开源 RPC 框架,与...

由 学院君 发布于5 years ago    浏览数: 3195    点赞数: 4