
数据结构与算法之美
肖子理
这个作者很懒,什么都没留下…
展开
-
复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?
大 O 复杂度表示法 int cal(int n) { int sum = 0; int i = 1; for (; i <= n; ++i) { sum = sum + i; } return sum; }总的执行时间就是T(n) = (2n+2)*unit_time。记为:T(n) = O(n);所有代码的执行时间 T(n) 与每行代码...原创 2019-04-10 21:10:24 · 781 阅读 · 0 评论 -
复杂度分析(下):浅析最好、最坏、平均、均摊时间复杂度
最好情况时间复杂度(best case time complexity)、最坏情况时间复杂度(worst case time complexity)、平均情况时间复杂度(average case time complexity)、均摊时间复杂度(amortized time complexity)最好、最坏情况时间复杂度首先看这段代码:// n 表示数组 array 的长度int...原创 2019-04-10 21:12:08 · 1478 阅读 · 2 评论 -
链表(上):如何实现LRU缓存淘汰算法?
经典的链表应用场景,那就是 LRU 缓存淘汰算法常见的缓存淘汰策略:先进先出策略 FIFO(First In,First Out)最少使用策略 LFU(Least Frequently Used)最近最少使用策略 LRU(Least Recently Used)这些策略你不用死记,我打个比方你很容易就明白了。假如说,你买了很多本技术书,但有一天你发现,这些书太多了,太占书房空间了,你...原创 2019-05-06 09:31:02 · 495 阅读 · 0 评论