数据结构与算法
文章平均质量分 66
chengxunzun
这个作者很懒,什么都没留下…
展开
-
数据结构与算法-LRU缓存实现
void put(int key, int value) 如果关键字 key 已经存在,则变更其数据值 value;如果插入 操作导致关键字数量超过 capacity ,则应该 逐出 最久未使用的关键字。链表有顺序之分,插入删除快,但是查找慢。既然已经确定了,采用什么数据结构,双向链表+哈希表 , 其中双向链表来维护顺序,通过哈希表来进行查询解决get、put都是以O(1)来运行。int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1。原创 2024-02-19 18:31:26 · 279 阅读 · 1 评论 -
死磕数据结构与算法-第一弹
在这个假设上,第 2-3行 2Time , 第 4-5行 是nTime ,总的时间复杂度为(n+2)Time,发现所有代码的执行时间 T(n) 与每行代码的执行次数成正比,T(n)=(n+2)Time。但是在业务开发中似乎难以遇到,真的是这样吗,并不是,比如:开发ArrayList 、 Linked List 再操存储数据的时候,到底使用哪一个,还是随便用一个,如何评估代码的性能和资源的消耗,这背后都离不开数据结构和算法。T(n)=O(f(n)),T(n) :代码执行的时间;n 表示数据规模的大小;原创 2023-06-16 16:09:19 · 48 阅读 · 1 评论