LFU算法

LFU(Least Frequently Used)算法,即最不经常使用算法,是置换算法(也叫淘汰算法)的一种,最早是在学习操作系统时接触的。

原理

当内存不足时,选择淘汰访问次数最少的页面。

阅读更多

LRU算法

LRU(Least Recently Used)算法,即最近最少使用算法,是置换算法(也叫淘汰算法)的一种,最早是在学习操作系统时接触的。

原理

当内存不足时,选择淘汰最久未使用的页面。

阅读更多
动态规划之完全背包问题解题方法

动态规划之完全背包问题解题方法

完全背包是经过01背包演变而来的,区别就是完全背包问题中物品是有无限个的,也就是说一个物品可以放入背包多次。同样的LeetCode上也没有纯完全背包的问题,都是完全背包应用方面的题目,也就是需要将其转化为完全背包问题。所以,记录一下从代码随想录-完全背包理论基础学习到纯完全背包问题的解题方法,补充一下纯完全背包的二维dp数组的解法,具体应用题需要靠自己来将其转化成完全背包,dp数组状态转移方程、初始化、遍历顺序可能会和纯完全背包问题有一些不同,需要具体问题具体分析。

阅读更多
动态规划之01背包问题解题方法

动态规划之01背包问题解题方法

01背包是背包问题的理论基础,完全背包也是经过01背包演变而来的。LeetCode上没有纯01背包的问题,都是01背包应用方面的题目,也就是需要将其转化为01背包问题。所以,记录一下从代码随想录-01背包理论基础学习到纯01背包问题的解题方法,具体应用题需要靠自己来将其转化成01背包,dp数组状态转移方程、初始化可能会和纯01背包问题有一些不同,需要具体问题具体分析。

阅读更多

快速排序

快速排序,经典的排序算法,用到了递归。

核心思想

要将一个数组排序,先随机以一个数为基准,将比其大的数放到其右边,比其小的数放到其左边,然后再递归排以这个数为中心的左半区间和右半区间。

注意点

一定要随机化选择切分元素(pivot),否则在输入数组是有序数组或者是逆序数组的时候,快速排序会变得非常慢。

阅读更多

归并排序

归并排序,经典的排序算法,基于分而治之的思想。

核心思想

要将一个数组排序,可以先(递归地)将它分成两半,分别对这两半排序,然后再将结果归并起来。

阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×