![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
thetffs
这个作者很懒,什么都没留下…
展开
-
数据结构和算法之美_22_哈希算法
哈希算法的应用—负载均衡 实现一个会话粘滞(session sticky)的负载均衡的算法即在同一个客户端上一次会话的所有请求都能路由到同一个服务器上。 最简单的办法就是维护一张映射表,映射表中记录会话ID或者客户端IP与服务器编号的映射关系。客户端每次发出的请求都先到映射表中查询服务器对应的编号,再请求编号对应的服务器。这种方法虽然简单直观,但是存在几个弊端: 1、如果客户端很多,则映射表过大,比较浪费内存空间 2、客户端上线、下线,服务端扩容、缩容都会导致映射表失效,这样增加了维护的成本; 我们可以通过原创 2020-12-22 15:04:23 · 88 阅读 · 0 评论 -
数据结构和算法之美_32_字符串匹配算法
单模式串匹配算法 单模式串匹配的算法,也就是一个串跟一个串进行匹配。包括BF算法和RK算法。 多模式串匹配算法 也就是在一个串中同时查找多个串,它们分别是 Trie 树和 AC 自动机。 BF算法 BF 算法是最简单、粗暴的字符串匹配算法,它的实现思路是,拿模式串与主串中是所有子串匹配,看是否有能匹配的子串。所以,时间复杂度也比较高,是 O(n*m),n、m 表示主串和模式串的长度。不过,在实际的软件开发中,因为这种算法实现简单,对于处理小规模的字符串匹配很好用。 BF算法的时间复杂度分析 我们每次都比对原创 2020-12-22 15:02:09 · 84 阅读 · 0 评论 -
数据结构和算法之美_21_哈希算法
什么是哈希算法? 将任意长度的二进制串映射为固定长度的二进制串的方法就叫哈希算法。通过原始数据映射后得到的二进制串就叫哈希值。 哈希算法需要满足什么要求? 1、从哈希值不能反向推导出原始数据(所以哈希算法也叫单向哈希算法); 2、对输入数据非常敏感,哪怕原始数据只修改了一个 Bit,最后得到的哈希值也大不相同; 3、散列冲突的概率要很小,对于不同的原始数据,哈希值相同的概率非常小; 4、哈希算法的执行效率要尽量高效,针对较长的文本,也能快速地计算出哈希值。 实际开发中如何使用哈希算法解决问题 1、业界常用的原创 2020-12-22 14:58:31 · 223 阅读 · 0 评论 -
数据结构与算法之美_33_字符串匹配算法
文本编辑器中的查找替换功能 对于实际应用到编辑软件中的查找替换功能,我们要求算法性能的高效,并且在极端情况下,算法性能也不会退化的很厉害,因此我们就来学习一种高效的字符串匹配算法-BM算法(Boyer-Moore 算法)。有实验统计,它的性能是著名的KMP 算法的 3 到 4 倍。 BM算法 ...原创 2020-12-22 14:57:30 · 105 阅读 · 0 评论