![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 74
DevDiary
这个作者很懒,什么都没留下…
展开
-
关于一致性哈希
定义: 数据倾斜(Data Skew)指的是在分布式系统中,数据并未均匀分布在各个节点上,导致某些节点存储或处理的数据量远远多于其他节点。数据倾斜会导致负载不均衡,从而影响系统的性能和稳定性。影响性能瓶颈:部分节点负载过重,可能成为系统的瓶颈,降低整体性能。资源浪费:部分节点负载过轻,导致资源未得到充分利用,增加了成本。响应时间增加:高负载节点处理时间较长,导致整体系统的响应时间增加。系统稳定性下降:高负载节点更容易出现故障,影响系统的稳定性和可用性。原创 2024-07-05 22:26:15 · 561 阅读 · 0 评论 -
订单id的设计问题探讨
UUID适合需要全局唯一性的场景,但不能按时间排序。雪花算法适合分布式环境,能生成有序且唯一的ID。自增ID和时间戳组合简单易实现,适合单机或小规模分布式环境。数据库自增ID适合不需要高度分布式的系统,简单直接。根据具体需求,选择合适的方案并进行实现。扩展序列号位数:增加序列号部分的位数,增加每毫秒可生成的ID数量。时间回拨:在同一毫秒内生成的ID数量超过限制时,等待下一毫秒。使用多实例:通过负载均衡将请求分配到多个ID生成实例,每个实例使用不同的机器ID和数据中心ID。分布式ID生成服务。原创 2024-05-25 13:42:38 · 612 阅读 · 0 评论 -
有限状态自动机(Deterministic Finite Automaton, DFA)
确定有限状态自动机(Deterministic Finite Automaton, DFA)是一种用于正则语言识别的模型,广泛应用于文本处理、编译器设计和网络协议等领域。原创 2024-05-24 14:36:12 · 1240 阅读 · 0 评论 -
贪心算法简单介绍
贪心算法是一种在每一步选择中都采取当前状态下最优或最优近似的选择,以期望最终得到全局最优解的算法。贪心算法并不总能得到全局最优解,但在某些问题上,它可以得到全局最优解,并且比动态规划等其他方法更为简单和高效。原创 2024-05-21 00:47:43 · 459 阅读 · 0 评论 -
动态规划常见算法题讲解
动态规划常见算法题讲解原创 2024-05-19 22:05:56 · 1259 阅读 · 0 评论 -
动态规划算法简单介绍
动态规划是一种强大的算法技术,适用于解决具有重叠子问题和最优子结构性质的问题。通过定义子问题、找到递推关系、确定边界条件和计算顺序,可以有效地解决许多复杂问题。原创 2024-05-19 00:03:09 · 541 阅读 · 0 评论 -
回溯算法探讨
回溯算法是一种用于寻找所有(或部分)解的算法,特别适用于需要探索所有可能解的组合问题。它通过系统的试错来构建解,并在发现某一步不满足条件时回退到上一步继续尝试其他可能性。回溯算法常用于解决排列、组合、子集生成等问题。原创 2024-05-18 19:02:53 · 672 阅读 · 0 评论 -
二叉树遍历方法详解:层序遍历、前序遍历、中序遍历和后序遍历
首先,我们定义一个二叉树节点类TreeNode,用于表示二叉树中的每个节点。该类包含节点值、左子节点和右子节点的引用。int val;@Override。原创 2024-05-17 21:51:18 · 510 阅读 · 0 评论 -
缓存淘汰(LRU)算法
LRU缓存算法通过维护一个记录访问历史的列表来决定哪个数据项淘汰,使得长时间未被访问的数据最先被移除,这样可以有效地利用有限的缓存空间,确保缓存的高效使用。原创 2024-05-14 00:01:18 · 494 阅读 · 1 评论 -
Lcss算法介绍与应用演示
它寻找两个序列中的最长子序列,这个子序列不需要在原始序列中连续,但必须保持原有序列中元素的相对顺序。1. **子序列**:如果序列Z中的所有元素都按其在序列X中出现的顺序出现在X中,那么Z是X的子序列。2. **最长公共子序列**:对于两个序列X和Y,它们的最长公共子序列是X和Y所有可能的公共子序列中最长的那一个。- **轨迹分析**:在地理信息系统(GIS)中,比较两个或多个轨迹的相似度。- **长度灵活**:LCSS的长度可以随序列中元素的增加而增加。* @param eps 考虑两点接近的阈值距离。原创 2023-12-12 16:19:05 · 560 阅读 · 0 评论 -
算法题: 设计LRU缓存结构
描述设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能set(key, value):将记录(key, value)插入该结构 get(key):返回key对应的value值[要求]set和get方法的时间复杂度为O(1) 某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的。 当缓存的大小超过K时,移除最不经常使用的记录,即set或get最久远的。若opt=1,接下来两个整数x, y,表示set(x, y)若opt=2,接下来一个整数x原创 2021-06-10 22:14:46 · 147 阅读 · 0 评论 -
算法题:四则运算
描述输入一个表达式(用字符串表示),求这个表达式的值。保证字符串中的有效字符包括[‘0’-‘9’],‘+’,‘-’,‘*’,‘/’,‘(’,‘)’,‘[’,‘]’,‘{’,‘}’。且表达式一定合法。输入描述:输入一个算术表达式输出描述:得到计算结果示例1输入:3+2*{1+2*[-4/(8-6)+7]}复制输出:25...原创 2021-06-05 12:14:26 · 323 阅读 · 0 评论