首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
数据结构
订阅
junyuan802
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
深入理解Redis跳跃表的基本实现和特性
在这里我们先回忆一下普通链表的时间复杂度,可以看到除了 look up 操作是 $O(n)$ 的,其他操作都是 $O(1)$ 的时间复杂度。也就是说你需要随机访问里面的任何一个元素的话,它的时间复杂度平均值是 $O(n)$ 的,这也就是链表它的问题所在。从这里可以看到并没有所谓…
布隆过滤器原理(有手就能学会)
直接看注释吧,写的很详细。
23张图!万字详解「链表」,从小白到大佬!
链表和数组是数据类型中两个重要又常用的基础数据类型,数组是连续存储在内存中的数据结构,因此它的优势是可以通过下标迅速的找到元素的位置,而它的缺点则是在插入和删除元素时会导致大量元素的被迫移动,为了解决和平衡此问题于是就有了链表这种数据类型。 链表和数组可以形成有效的互补,这样我…
数据结构与算法 javascript描述-散列表(下)
上篇讲了通过分离链接法来解决散列表冲突问题。今天我们学习一个新的方法来解决该问题。 核心思想是,如果出现了散列冲突,我们就重新探测一个空闲位置,将其插入。那如何重新探测新的位置呢? 当我们往散列表中插入数据时,如果某个数据经过散列函数散列之后,存储位置已经被占用了,我们就从当前…
Redis 为什么用跳表而不用平衡树?
本文是《Redis 内部数据结构详解》系列的第六篇。在本文中,我们围绕一个 Redis 的内部数据结构——skiplist 展开讨论。 Redis 里面使用 skiplist 是为了实现 sorted set 这种对外的数据结构。sorted set 提供的操作非常丰富,可以满足非常多的应用场景。…
我画了20张图,终于让女朋友学会了翻转链表
如果说数据结构是算法的基础,那么数组和链表就是数据结构的基础。 因为像堆,栈,对,图等比较复杂的数组结基本上都可以由数组和链表来表示,所以掌握数组和链表的基本操作十分重要。 链表的知识点蛮多的,所以分成上下两篇,这篇主要讲解链表翻转的解题技巧,下篇主要讲关于链表快慢指针的知识点…
数据结构 - 哈希
在 MySQL 中,主要有四种类型的索引,分别为:B-Tree 索引,Hash 索引,Fulltext 索引和 R-Tree 索引。前一节已经讲了 B 类树的结构特点,这次讲哈希索引,至于后面的全文索引和 R 树索引感兴趣自己看吧。 哈希表 (Hash Table),也叫散列表…
「中高级前端」窥探数据结构的世界- ES6版
1. 什么是数据结构? 数据结构是在计算机中组织和存储数据的一种特殊方式,使得数据可以高效地被访问和修改。更确切地说,数据结构是数据值的集合,表示数据之间的关系,也包括了作用在数据上的函数或操作。 数据是计算机科学当中最关键的实体,而数据结构则可以将数据以某种组织形式存储,因此…
数据结构学习--链表
链表是物理存储单元上非连续的、非顺序的存储结构,不同于栈和队列。链表由一系列节点组成,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个…
几道和「二叉树」有关的算法面试题
1. 二叉树的前序遍历 题目来源于 LeetCode 第 144 号问题:二叉树的前序遍历。 给定一个二叉树,返回它的 前序 遍历。 用**栈(Stack)**的思路来处理问题。 看其左子节点,若存在,则push到栈中。 2. 二叉树的中序遍历 题目来源于 LeetCode 第…