二叉查找树是最常用的一种二叉树,它支持快速插入、删除、查找操作,各个操作的时间复杂度跟树的高度成正比,理想情况下,时间复杂度是 O(logn)。...
今天来学习一种特殊的的二叉树二叉查找树。二叉查找树最大的特点就是支持动态数据集合的快速插入、删除、查找操作。 我们之前说过,散列表也是支持这些操...
前面讲的都是线性表结构,栈、队列等等。今天讲一种非线性表结构,树。树这种数据结构比线性表的数据结构要复杂得多,内容也比较多,所以我会分四节来讲解...
接下来三种哈希算法的应用都跟分布式系统有关。接下来就看一下哈希算法是如何解决这些分布式问题的。 应用五:负载均衡 负载均衡算法有很多,比如轮询、...
你会如何存储用户密码这么重要的数据吗?仅仅 MD5 加密一下就够了吗? 今天不会重点剖析哈希算法的原理,也不会教你如何设计一个哈希算法,而是从实...
散列表和链表都是如何组合起来使用的,为什么散列表和链表会经常放到一块使用? LRU 缓存淘汰算法 因为我们的散列表是通过链表法解决散列冲突的,所...
通过上一节的学习,我们知道,散列表的查询效率并不能笼统地说成是 O(1)。它跟散列函数、装载因子、散列冲突等都有关系。如果散列函数设计得不好,或...
散列表的英文叫“Hash Table”,我们平时也叫它“哈希表”或者“Hash 表”。 散列表用的是数组支持按照下标随机访问数据的特性,所以散列...
链表加多级索引的结构,就是跳表。它是一种动态数据结构,可以支持快速的插入、删除、查找操作。 用跳表查询到底有多快? 这个时间复杂度的分析方法比较...
文集作者