B+树:MySQL数据库索引的数据结构 1.理清需求 对于数据库两个最基本的查询需求: 根据某个值查找数据,比如select * from us...
位图 位图可以看成是一种比较“特殊”的散列表。比如有1千万个整数,要查找某个整数是否在这1千万个整数中,就可以使用位图。 如果整数的范围在1到1...
“搜索”算法 深度优先搜索算法和广度优先搜索算法都是基于“图”这种数据结构。 图上的搜索算法就是,在图中找出从一个顶点出发,到另一个顶点的路径。...
图 图的概念 图(graph)和树比起来,是一种更加复杂的非线性表结构。 顶点&边 树中的元素成为节点,图中的元素叫做顶点(vertex)。图一...
二叉树基础 树(Tree) 树是一种非线性表结构,比线性表的数据结构要复杂的多: 树的种类树、二叉树二叉查找树平衡二叉查找树、红黑树递归树 “树...
散列表 散列表来源于数组,它借助散列函数对数组这种数据结构进行扩展,利用的是数组支持按照下标随机访问元素的特性。散列表两个核心问题是散列函数设计...
跳表 = 链表 + 多级索引 跳表使用空间换时间的设计思路,通过构建多级索引来提高查询的效率,实现了基于链表的“二分查找”。跳表是一种动态数据结...
二分查找 二分查找的思想 二分查找(Binary Search)算法,也叫折半查找算法。 二分查找针对的是一个有序的数据集合,查找思想有点类似分...
队列的结构 可以把队列想象成排队买票,先来的先买,后来的人只能站在末尾,不允许插队。 队列最大的特点就是先进先出,主要的两个操作是入队和出队。跟...
文集作者