标签: 时间复杂度

共找到了30个结果

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

数据结构与算法 二叉树

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

由 学院君 发布于4年前    浏览数: 580    点赞数: 1

平衡二叉树(AVL)的定义和实现原理

数据结构与算法 二叉树

引子 上一篇我们介绍了二叉排序树,并且提到理想情况下,二叉排序树的插入、删除、查找时间复杂度都是 O(logn),非常高效,而且它...

由 学院君 发布于4年前    浏览数: 806    点赞数: 2

二叉排序(查找)树的定义及实现

数据结构与算法 二叉树

为什么要引入二叉排序树 我们前面已经介绍了很多数据结构,比如数组、链表、散列表等,数组查找性能高,但是插入、删除性能差,链表插入、...

由 学院君 发布于4年前    浏览数: 988    点赞数: 0

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

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

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

由 学院君 发布于4年前    浏览数: 466    点赞数: 0

字符串匹配算法之 Trie 树的定义、实现及应用

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

介绍完树和二叉树的基本数据结构和算法之后,我们接着之前没讲完的字符串匹配算法。 Trie 树的定义 Trie 树,也叫「前缀树」...

由 学院君 发布于4年前    浏览数: 707    点赞数: 1

字符串匹配算法之 BF 算法

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

今天开始,我们将花三篇文章的篇幅由浅及深地介绍几个字符串匹配算法,首先从最简单的字符串匹配算法 —— BF 算法说起,BF 是 Br...

由 学院君 发布于4年前    浏览数: 900    点赞数: 0

散列表、散列函数和散列冲突

数据结构与算法 散列表

散列表 散列表(HashTable,也叫哈希表),是根据键(Key)直接访问在内存存储位置的数据结构。 其实现原理是:通过散列函...

由 学院君 发布于4年前    浏览数: 1205    点赞数: 0

索引查找(二):分块索引(数据库索引技术基础)

数据结构与算法 查找算法

昨天给大家分享了线性索引中的稠密索引,并提到了稠密索引的缺点,进而引出今天的主题 —— 分块索引。 为了减少索引项个数,我们对数据...

由 学院君 发布于4年前    浏览数: 961    点赞数: 2

二分查找

数据结构与算法 查找算法

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

由 学院君 发布于4年前    浏览数: 1745    点赞数: 1

快速排序

数据结构与算法 排序算法

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

由 学院君 发布于4年前    浏览数: 2150    点赞数: 3

选择排序

数据结构与算法 排序算法

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

由 学院君 发布于4年前    浏览数: 1850    点赞数: 1

归并排序

数据结构与算法 排序算法

实现原理 今天介绍比前面三个排序算法性能更好的排序算法,归并排序。 所谓归并排序,指的是如果要排序一个数组,我们先把数组从中间分...

由 学院君 发布于4年前    浏览数: 1784    点赞数: 2

插入排序

数据结构与算法 排序算法

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

由 学院君 发布于4年前    浏览数: 2497    点赞数: 0

冒泡排序

数据结构与算法 排序算法

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

由 学院君 发布于4年前    浏览数: 2761    点赞数: 0

复杂度分析和大O表示法

数据结构与算法 前导篇

学习数据结构和算法要从复杂度分析说起。算法复杂度包括时间复杂度和空间复杂度,两者中又以时间复杂度相对重要,因为就 Web 应用而言,...

由 学院君 发布于4年前    浏览数: 3535    点赞数: 1