随笔分类 -  数据结构

描述一些基本数据结构的内容
摘要:简介 在单个维度的范围搜索场景下,如:搜索创建时间最靠近某个日期的商品信息。可以通过遍历所有的商品信息,计算每个商品的创建日期的差值,得到差值最小的商品即可,这样每次查询的时间复杂度为 \(O(n)\);或者通过构造一个 BST,通过日期进行比较查询,这样查询的时间复杂度为 \(O(log_2n)\ 阅读全文
posted @ 2025-01-19 21:45 FatalFlower 阅读(192) 评论(0) 推荐(0)
摘要:B 树 B 树和一般的二叉树有许多相似的地方,二者都是为了加快查找的速度,不同之处在于 B 树是为了解决大量的数据而产生的,更加适合读取相对大的数据块的存储系统。B 树的每个节点一般不会存储实际的数据,而只是存储对应的索引位置(类似指针) B 树有时也被称作是 B- 树,这是为了和 B+ 树有一个区 阅读全文
posted @ 2022-01-07 10:47 FatalFlower 阅读(272) 评论(0) 推荐(0)
摘要:简介 UnionFind 主要用于解决图论中的动态联通性的问题(对于输入的一系列元素集合,判断其中的元素是否是相连通的)。 以下图为例: 集合[1, 2, 3, 4] 和 [5, 6]中的每个元素之间都是相联通的,及 1 和 2、3、4都是连通的,而 1 和 5 则不是连通的。 UnionFind 阅读全文
posted @ 2021-10-12 22:01 FatalFlower 阅读(60) 评论(0) 推荐(0)
摘要:介绍 AVL 树:Adelson-Velsky and Landis Tree。是计算机科学中最早被发明的自平衡二叉树,在 AVL 树中,任意两个节点之间的高度差不会超过 1,因此 AVL 树也被称之为高度平衡树。AVL 树的插入、删除、查找操作在平均和最坏的时间复杂度都为 \(O(log_2N)\ 阅读全文
posted @ 2021-09-29 21:28 FatalFlower 阅读(117) 评论(0) 推荐(0)
摘要:介绍 红黑平衡查找树是一种平衡的二叉树数据结构,最早由 鲁道夫·贝尔 在 1972 年提出,当时被称为 “对称二叉B树”。它的现代名字起源于 Leo J. Guibas 和 Robert Sedgewick 于 1978 年提出。相比较于 AVL 树,红黑树在调整时需要的操作更少,但是更加复杂,总体 阅读全文
posted @ 2021-09-25 15:44 FatalFlower 阅读(81) 评论(0) 推荐(0)