题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数排 序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之中 间两个数的平均值。我们使用Insert()…
分类:数据结构
最小生成树算法
最小生成树 给定一个无向图,如果它的某个子图中任意两个顶点都互相连通并且是一棵树,那么这棵树就叫做生成树。如果边上有权值,那么使得权值最小的生成树叫做最小生成树。 Prim算法 Prim算法和Dijktra算法十分相似,…
数据结构| 栈
栈的定义 栈也称为堆栈,它是限定仅在表尾进行插入和删除操作的线性表。对于栈来说,表尾称为栈顶,表头称为栈尾。栈顶是动态变化的,它由一个栈指针的变量指示的。当表中没有元素时,称为空栈。栈的插入操作称为入栈或进栈,而删除操作…
算法相关(持续更新)
查找两个子视图的共同父视图 分析:可以反过来理解,两个子视图有共同父视图,那就说明共同父视图往下的父视图都相同,所以可以倒序来遍历,直到第一个不同的视图。 - (void)findCommonSuperViews:(UI…
树与二叉表达树
树基础 定义 数的定义 可以使用递归的方法定义:一棵树是一些节点的集合。一棵树由根节点和0~多个非空树(即子树)组成。这些子树中的每一颗根节点都被来自母树跟的一条有向边链接。母树的根节点被称为父节点,子树的根节点被称为子…
Java怎么实现LRU缓存(最近最少使用)
LRU是Least Recently Used 的缩写,翻译过来就是“最近最少使用”,LRU缓存就是使用这种原理实现,简单的说就是缓存一定量的数据,当超过设定的阈值时就把一些过期的数据删除掉,比如我们缓存10000条数据…
BZOJ-2878: [Noi2012]迷失游乐园(树,环DP)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2878 在树上维护两个东西up(v),down(v),表示向上和向下的期望长度,n=m的话就把环搞出来,弄成个环套树…
设计一个消息中间件的前置(三)| 数据结构及高可用设计
前两篇讲到了基本思路和netty+protobuf框架,今天这篇介绍一下前置的基本数据结构及用户校验,熔断的流程。 数据源及高可用 前置的数据源有两个,按照优先级来说,应该是这样的顺序: 缓存(Redis) 数据库(My…
蚂蚁金服面试
一面 hashmap的实现原理,多线程并发操作hashmap会有什么问题? 原理简述:使用数组加链表的数据结构,根据给出的key -hash到数组的一个下标,如果当前下标有值建立一个链表 指向next, 注意的是新插入的…
leecode刷题(8)-- 两数之和
leecode刷题(8)– 两数之和 两数之和 描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应…
剑指Offer-38 数组中的单身贵族(位运算)
一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。 集合法 其实,我觉得使用HashSet挺好的,时间复杂度也可以接受。 遍历数组 如果数不在集合中,添加到集合中 如果数在集合…
银行家算法的模拟和实现
最近在做操作系统的课程设计,其中实验四是“银行家算法的模拟和实现”。好在前面看过一点,有点印象。所以想尝试自己写一下,下面是我的编码过程以及个人的一点分享,如果有问题欢迎指出,也希望能和我一起交流。我的邮箱是:jiang…