![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
曲终人散121
努力。
展开
-
AVL树,红黑树,B树,B+树
AVL树,红黑树,B树,B+树原创 2021-04-18 06:04:32 · 90 阅读 · 0 评论 -
KMP算法
一 、KMP算法(必考) KMP算法指的是字符串模式匹配算法,问题是:在主串T中找到第一次出现完整子串P时的起始位置。该算法是三位大牛:D.E.Knuth、J.H.Morris和V.R.Pratt同时发现的,以其名字首字母命名 28. 实现 strStr() class Solution { public int strStr(String haystack, String needle) { if(needle ==null || needle.equals("")){原创 2020-11-29 17:04:13 · 214 阅读 · 0 评论 -
布隆过滤器
1 什么情况下需要布隆过滤器? 1字处理软件中,需要检查一个英语单词是否拼写正确 2在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上 3在网络爬虫里,一个网址是否被访问过 4 yahoo, gmail等邮箱垃圾邮件过滤功能 这几个例子有一个共同的特点: 如何判断一个元素是否存在一个集合中? 常规思路 1数组 2链表 3树、平衡二叉树、Trie 4Map (红黑树) 5哈希表 直观的说,bloom算法类似一个hash set,用来判断某个元素(key)是否在某个集合中。 和一般的hash set不同的是,这个原创 2020-10-29 01:32:25 · 98 阅读 · 1 评论 -
一致性哈希算法
转载于 https://www.cnblogs.com/williamjie/p/9477852.html 1 基本原理 设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数据库的人都知道,memcached服务器端本身不提供分布式cache的一致性,而是由客户端来提供,具体在计算一致性hash时转载 2020-10-28 22:38:09 · 64 阅读 · 0 评论 -
LRU设计
public class DlinkedNode{ private int value; private int key; private DlinkedNode pre; private DlinkedNode next; public DlinkedNode(int key,int value){ this.key = key; this.value = value; } DlinkedNode(){} ...原创 2020-08-04 00:05:05 · 111 阅读 · 0 评论 -
堆与二叉树的关系
1 堆数组下边与二叉树节点关系 节点编号 与数组的关系 i号节点的左节点 为2i+1 i号节点的右节点 为2i+2 i号节点的符节点为i-1/2原创 2020-08-02 17:05:47 · 507 阅读 · 1 评论 -
堆排序
一、.什么是堆? 堆首先是一个完全二叉树,每个根节点的值大于等于(小于等于)左右子节点的值, 一般通过宏定义完成I节点的父节点, #define PARENT(i) (i) >> 1 #define LEFT(i) (i) #define RIGHT(i) ((i) 二、堆的基本操作 1.MAXHEAPIFY指的是维护最最大堆。 2.BUIDMAXH原创 2017-07-16 01:12:20 · 240 阅读 · 0 评论 -
二叉树面试题--已知二叉树的两种遍历序列,求出另一种遍历序列
已知先序遍历序列和中序遍历序列,求出后序序列 或者 已知中序序列和后序序列 , 求出先序遍历。。都是一些考试中容易考的题目。 经过研究发现,已知先序序列和后序序列,无法唯一确定一棵树,所以就无法得知中序 序列。 下边给出例题: 一、已知先序和中序,求出后序。 下边再举一个例子,如下图: 通过上边两个例子的学习,对这种题目有了一定的理解,下边举例已知中序和后序,转载 2016-09-26 17:04:07 · 17467 阅读 · 4 评论