标签: 时间复杂度
共找到了30个结果
Redis 常见数据结构的底层实现系列(六):字典篇
前面学院君已经陆续给大家介绍了字符串(String)、列表(List)、集合(Set)、有序集合(Sorted Set)的底层实现,...
Redis 常见数据结构的底层实现系列(三):列表篇
看完了字符串的底层实现,我们接着看列表的底层实现。 在 Redis 3.2 之前,当元素不多时,Redis 是通过压缩列表来实现列...
Redis 常见数据结构的底层实现系列(二):字符串篇
我们已经知道,单个 Redis 数据库实例底层是一张巨大的哈希表,所有的 Redis 键值对都是挂载在这张哈希表上的,因此,才能实现...
Redis 常见数据结构的底层实现系列(一):全局哈希表
了解了 Redis 通信协议和线程模型后,我们接着来看 Redis 服务端支持的数据结构底层是如何实现的。Redis 之所以能够成为...
关键路径的实现算法和复杂度分析
在上篇文章中学院君简单介绍了关键路径的定义,这篇文章我们来探讨关键路径的实现算法。 在 AOE 网中,某些活动可以并行地进行,因此...
拓扑排序的算法实现及复杂度分析
上篇文章学院君介绍了什么是拓扑排序以及拓扑排序的应用场景,还是老规矩,介绍完基本概念,我们接着通过数据结构和算法来实现它,拓扑排序的...
最短路径的实现算法(二):弗洛伊德算法(Floyd)
昨天我们介绍了网图的最短路径定义,以及如何通过迪杰斯特拉算法实现,今天我们介绍最短路径的另一种常见实现算法 —— 弗洛伊德(Floy...
最短路径及实现算法(一):迪杰斯特拉算法(Dijkstra)
最短路径 在日常生活中,我们经常面临路径选择的问题,比如从杭州到北京,可以选择汽车、火车、飞机,甚至还可以坐公交车(这不是笑话,最...
最小生成树的实现算法之克鲁斯卡尔算法(Kruskal)
上篇文章我们分享了通过普里姆算法实现最小生成树,该算法主要以顶点为维度,时间复杂度也只与顶点相关,今天我们要给大家介绍最小生成树的另...
最小生成树的实现算法之普里姆算法(Prim)
上篇文章学院君简单给大家介绍了最小生成树的定义,接下来我们分别介绍最小生成树的两种常见的实现算法,首先介绍的是普里姆(Prim)算法...
图的遍历(下)—— 广度优先搜索
上篇文章我们分享了通过深度优先搜索对图进行遍历,这篇我们来探讨如何通过广度优先搜索对图进行遍历。 广度优先搜索定义 广度优先搜索...
图的遍历(上)—— 深度优先搜索
前面我们已经介绍了图的定义和存储,今天这篇我们来探讨图的遍历,图的遍历和树的遍历类似,最直接的理解就是,在图中某个顶点出发,访遍图中...
图的存储:邻接矩阵和邻接表
由于图这种数据结构比较复杂,单纯的数组和链表已经无法表示了,需要通过更复杂的结构来存储。 今天,学院君简单为大家介绍两种存储图的方...
解决 TopK 问题的利器(下):堆排序及其应用
堆排序 上篇分享我们介绍了堆的定义及其构建,这篇教程我们来分享堆排序及其应用,堆排序的过程其实就是不断删除堆顶元素的过程。如果构建...
红黑树的特性和算法复杂度
前面几篇分享中我们陆续介绍了平衡二叉树的定义、实现原理、构建过程演示以及对应的实现代码,我们提到平衡二叉树是最理想的二叉排序树,性能...