
leetcode
honky_tonk_man
这个作者很懒,什么都没留下…
展开
-
实现LRU(用双链表加hash表的方式实现时间复杂度达到O(1))
前言 我们要实现数据库buffer pool中的LRU淘汰算法,当bufferpool满了后,我们要把最前访问的page驱逐(evict),这个算法也是leecode和CMU 15-441的题目 基本思想 我们如果不强加O(1)可以用vector实现,(删除的时候要移动元素,非常消耗时间),我们如果要实现O(1)就需要双链表(List默认双链表)和hash表实现,list用来记录每一个bufferpool的page和其对应的pincount,hash表key是page id,value是page的引用或者指原创 2022-04-24 16:45:23 · 2217 阅读 · 0 评论 -
leetcode刷题(c语言版)
文章目录链表两数相加(中等难度) 链表 两数相加(中等难度) 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 实例 输入:(2 -> 4 -> 3) + (5 -> ...原创 2020-12-28 13:04:18 · 1594 阅读 · 0 评论