数据结构
文章平均质量分 67
介绍各种数据结构及相应算法
紫菜花油菜花
这个作者很懒,什么都没留下…
展开
-
【数据结构】单调栈(概念,应用:最大矩形、雨水、牛、左右边界)
递增(减)栈应用场景:针对某个数,寻找它和它【左/右】两边第一个比他【大/小】的数,以及相距多少距离。1. 接雨水针对某个洼地,当前能接的雨水等于左右两侧【最大高度】的最小值-当前洼地的高度。(> O(N2)O(N^2)O(N2))对于某个洼地来说,其能盛水的量由【左右边界确定】,对于洼地> j0,j1,j0<j1,H[j0]<H[j1]j_0,j_1,j_0<j_1,H[j_0]<H[j_1]j0,j1,j0<j1,H[j0]<H[j1原创 2021-04-14 11:58:35 · 199 阅读 · 0 评论 -
【数据结构】LRU缓存机制结构(C++实现)
算法描述LRU实际上是设计一个数据结构,有如下要求:包含容量capacity和当前元素数量size包含插入方法put和获取get时间复杂度为O(1);算法设计一般来说通过两个数据结构来实现LRU机制,即哈希表:用于存取【鍵-节点】对双向链表:用于存取【键-值】对,尾节点为最新加入的节点,头节点的后一结点为LRU节点struct Node{ int key,value; Node *pre,*next; Node(int _k,int _v):原创 2021-03-31 16:35:27 · 561 阅读 · 1 评论