
数据结构
文章平均质量分 93
常见数据结构的讲解
GG_Bond21
关注回关,大家多多关照
展开
-
链表常见面试题分析
接下来我们会从易到难,逐步讲解有关链表的常见面试,部分题目来自Leetcode和牛客原创 2022-11-04 18:01:21 · 7240 阅读 · 20 评论 -
堆结构的深度理解
本文将详细讲解数据结构中的堆,并非是计算机存储概念上的堆区原创 2022-11-09 18:35:53 · 1522 阅读 · 0 评论 -
理解实现八大排序
排序就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。原创 2023-01-17 18:40:08 · 6826 阅读 · 12 评论 -
基础二叉树及其高频面试题
普通的二叉树其实在实际运用中并不能发挥出什么作用。但是它是我们学习后续的二叉搜索树、AVL树、红黑树等数据结构时必备的基础,常见的二叉树面试题中使用的基本上也是普通二叉树,所以学好普通二叉树也是十分重要的。原创 2022-11-13 14:55:53 · 766 阅读 · 9 评论 -
手撕二叉搜索树
二叉搜索树(BST,Binary Search Tree),也称二叉排序树或二叉查找树原创 2022-11-17 16:51:05 · 1112 阅读 · 12 评论 -
手撕AVL树
两位俄罗斯的数学家G.M.Adelson-Velskii和E.M.Landis在1962年发明AVL树原创 2022-11-19 09:00:00 · 842 阅读 · 11 评论 -
手撕红黑树
相较于AVL树,红黑树在实际中运用更加广泛原创 2022-11-22 16:58:03 · 3399 阅读 · 17 评论 -
B-树(高阶数据结构)
若树为空,直接插入新结点,该结点为树的根结点树非空,找待插入关键字在树中的插入位置(找到的插入结点位置一定是叶子结点)检测是否找到插入位置(假设树中的key唯一,即该元素已经存在时则不插入)按照插入排序的思想将该关键字插入到找到的结点中检测该结点关键字数量是否满足B-树的性质:即该节点中的元素个数是否等于M,若小于则满足,插入结束若插入后结点不满足B树的性质,需要对该结点进行分裂:申请新的兄弟结点找到该结点的中间位置将该结点中间位置右侧的元素以及其孩子搬移到新结点中。原创 2024-02-25 10:17:35 · 4398 阅读 · 1 评论 -
深入哈希结构
理想的搜索方法:可以不经过任何比较,一次直接从表中得到要搜索的元素。原创 2022-12-18 22:14:30 · 7681 阅读 · 10 评论 -
海量数据处理
海量数据处理问题原创 2022-12-25 11:46:44 · 1311 阅读 · 24 评论 -
skiplist(高阶数据结构)
skiplist是由William Pugh发明的,最早出现于他在1990年发表的论文skiplist本质上是一种查找结构,用于解决算法中的查找问题,跟平衡搜索树和哈希表的价值是一样的,可以作为key或者key/value的查找模型。skiplist是一个list,是在有序链表的基础上发展起来的。若是一个有序的链表,查找数据的时间复杂度是William Pugh开始的优化思路。原创 2024-02-28 21:36:36 · 1151 阅读 · 0 评论 -
LRU Cache
LRU是Least Recently Used的缩写,意思是最近最少使用,是一种Cache替换算法狭义的Cache指的是位于CPU和主存间的快速RAM, 通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。广义上的Cache指的是位于速度相差较大的两种硬件之间, 用于协调两者数据传输速度差异的结构。除了CPU与主存之间有Cache, 内存与硬盘之间也有Cache,乃至在硬盘与网络之间也有某种意义上的Cache── 称为Internet临时文件夹或网络内容缓存等。原创 2024-02-13 11:32:50 · 1135 阅读 · 0 评论 -
并查集(高阶数据结构)
虽然利用其他数据结构也能完成不相交集合的合并及查询,但在数据量极大的情况下,其耗费的时间和空间极大。原创 2024-02-01 21:31:17 · 1448 阅读 · 0 评论 -
图(高阶数据结构)
若所给图不是一个连通图,那么从一个顶点开始进行深度优先遍历,无法遍历完图中的所有顶点。这时可以遍历标记数组,查看哪些顶点还没有被访问过,对于没有被访问过的顶点,则从该顶点处继续进行深度优先遍历,直到图中所有的顶点都被访问过。在每一轮松弛过程中,后面路径的更新可能会影响到前面已经更新过的路径,比如使得前面已经更新过的路径的长度可以变得更短,或者使得某些源顶点之前不可达的顶点变得可达,但每一轮松弛至少能确定最短路径中的一条边,若图中有。图的遍历指的是遍历图中的顶点,主要有广度优先遍历和深度优先遍历两种方式。原创 2024-02-11 22:15:18 · 1993 阅读 · 2 评论 -
一致性哈希算法
假设现在线上部署了三台缓存服务器,分别为0号、1号、2号。现有3万张图片需要缓存,最佳情况下希望图片被均匀的分配到3台缓存服务器上,即每台机器1万张左右可采用普通哈希算法进行操作,对缓存项的键进行哈希,将hash后的结果对缓存服务器的数量进行取模操作,通过取模后的结果,决定缓存项将会缓存在哪一台服务器上hash(图片名称) % 机器数量下面假设图片名称是不重复的。对同一个图片名称进行hash得到的结果是不变的,假设有3台服务器,将hash后的结果对3进行求余,那么余数一定是0、1或者2。原创 2023-10-28 21:54:24 · 380 阅读 · 5 评论