青云博客 记录、分享

树 - 红黑树

红黑树是一种自平衡的二叉搜索树,它在普通二叉搜索树的基础上通过引入颜色属性和一些特定规则来维持树的平衡性。 红黑树的特性包括 以下几点: 每个节点都被标记为红色或黑色。 根节点始终为黑色,这是确保整个树的平衡的起点。 叶子节点是特殊的空节点,标记为黑色。 没有两个相邻的红色节点,这样确保了没有连续的

詹学伟 Published on 2024-04-24

树 - 平衡二叉树

平衡二叉树是一种特殊的二叉搜索树,旨在解决普通二叉搜索树的性能问题。它通过限制左右子树的高度差不超过一个常数来保持树的平衡性。平衡二叉树的设计使得插入、删除和查找等操作的时间复杂度维持在较小的范围内。 其中,AVL树和红黑树是两种常见的平衡二叉树。 AVL树通过维护每个节点的平衡因子(左子树高度减去

詹学伟 Published on 2024-04-24

树 - 哈夫曼树

哈夫曼树是一种用于数据压缩的树形结构,通过构建最优二叉树来实现高效的编码和解码。 在构建哈夫曼树的过程中,首先需要统计待编码数据中每个字符的出现频率。然后,将每个字符及其频率创建为一个叶子节点,并将它们组成一个节点集合。 接着,从节点集

詹学伟 Published on 2024-04-24

线性表 - 链表的理解

链表是一种常见的线性表数据结构,与数组不同,链表中的元素在内存中不是连续存储的。 链表由节点(Node)组成,每个节点包含数据元素和一个指向下一个节点的指针。 链表具有动态大小和灵活插入、删除的特点,因为节点间通过指针连接,无需移动其他元素。 常见的链表类型有单向链表、双向链表

詹学伟 Published on 2024-04-24

线性表(散列) - 哈希表

哈希表是一种基于散列思想的线性表数据结构,它通过哈希函数将关键字映射到表中的位置,实现高效的插入、删除和查找操作。 哈希表的特点如下: 哈希函数:哈希表通过哈希函数将关键字映射为哈希值,并根据哈希值确定元素在表中的位置。好的哈希函数能够最大程度地减少冲突,即不同的关键字映射到相同的哈希值。 数组存储

詹学伟 Published on 2024-04-24

线性表 - 栈和队列

栈和队列是常见的线性表数据结构。 栈采用后进先出的原则。最后插入的元素将第一个被删除或访问。 栈主要有入栈和出栈两个操作。入栈将元素添加到栈的顶部,而出栈从栈的顶部移除元素,并返回该元素的值。 栈在函数调用和递归、括号匹配、浏览器前进和后退等场景中得到广泛应用。比如函数调用和递归中,每个函数的参数、

詹学伟 Published on 2024-04-24

线性表 - 数组和矩阵

当谈到线性表时,数组和矩阵是两种常见的数据结构。 数组(Array): 数组是有序的元素集合,可以通过索引来访问和操作其中的元素。它是最简单、最基本的数据结构之一。数组的特点包括: 连续存储:数组中的元素在内存中是连续存储的,这样可以通过计算偏移量来快速定位元素。 相同类型:数组中的所有元素必须具有

詹学伟 Published on 2024-04-24

什么是分布式系统

一个系统 各组件分别部署在不同服务器。彼此通过网络通信和协调的系统。 可以指多个不同组件分布在网络上互相协作,比如说电商网站

詹学伟 Published on 2024-04-24

什么是BASE理论?

BASE(Basically Available、Soft state、Eventual consistency)是基于CAP理论逐步演化而来的,核心思想是即便不能达到强一致性(Strong consistency),也可以根据应用特点采用适当的方式来达到最终一致性(Eventual consist

詹学伟 Published on 2024-04-24

分布式锁有哪些的实现方案?

资:12-25K 岗位:中高级开发工程师 一、

詹学伟 Published on 2024-04-24
Previous Next