再学习具体的内容之前,我们先思考一个问题。有了如此高效的散列表,为什么还需要二叉树? 一、什么是二叉查找树 二叉查找树是二叉树中最常用的一种类型...
一、树 1.树的常用概念 比如下面这幅图,A 节点就是 B 节点的父节点,B 节点是 A 节点的子节点。B、C、D 这三个节点的父节点是同一个节...
带着问题去学习:1.为什么散列表和链表经常放在一起使用?2.散列表和链表如何组合起来使用? 一、为什么散列表和链表经常放在一起使用? 1.散列表...
思考:何为一个工业级的散列表?工业级的散列表应该具有哪些特性?结合学过的知识,我觉的应该有这样的要求: 1.支持快速的查询、插入、删除操作;2....
一、散列表的由来? 1.散列表来源于数组,它借助散列函数对数组这种数据结构进行扩展,利用的是数组支持按照下标随机访问元素的特性。2.需要存储在散...
一、什么是跳表? 为一个值有序的链表建立多级索引,比如每2个节点提取一个节点到上一级,我们把抽出来的那一级叫做索引或索引层。如下图所示,其中do...
一、四种常见的二分查找变形问题 1.查找第一个值等于给定值的元素 示例2 2.查找最后一个值等于给定值的元素 3.查找第一个大于等于给定值的元素...
一、什么是二分查找? 二分查找针对的是一个数据集合,每次通过跟元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间缩小为0。...
一、如何选择合适的排序算法? 1.排序算法一览表 2.为什选择快速排序? 1)线性排序时间复杂度很低但使用场景特殊,如果要写一个通用排序函数,不...
文集作者