LRU(Least Recently Used)算法,即最近最少使用算法,是置换算法(也叫淘汰算法)的一种,最早是在学习操作系统时接触的。
原理
当内存不足时,选择淘汰最久未使用的页面。
完全背包是经过01背包演变而来的,区别就是完全背包问题中物品是有无限个的,也就是说一个物品可以放入背包多次。同样的LeetCode上也没有纯完全背包的问题,都是完全背包应用方面的题目,也就是需要将其转化为完全背包问题。所以,记录一下从代码随想录-完全背包理论基础学习到纯完全背包问题的解题方法,补充一下纯完全背包的二维dp数组的解法,具体应用题需要靠自己来将其转化成完全背包,dp数组状态转移方程、初始化、遍历顺序可能会和纯完全背包问题有一些不同,需要具体问题具体分析。
01背包是背包问题的理论基础,完全背包也是经过01背包演变而来的。LeetCode上没有纯01背包的问题,都是01背包应用方面的题目,也就是需要将其转化为01背包问题。所以,记录一下从代码随想录-01背包理论基础学习到纯01背包问题的解题方法,具体应用题需要靠自己来将其转化成01背包,dp数组状态转移方程、初始化可能会和纯01背包问题有一些不同,需要具体问题具体分析。
按照以下顺序刷题,能对动态规划之子序列问题有更深刻的理解。
按照以下顺序刷题,能对动态规划之股票问题有更深刻的理解。
按照以下顺序刷题,能对动态规划之背包问题有更深刻的理解。
快速排序,经典的排序算法,用到了递归。
要将一个数组排序,先随机以一个数为基准,将比其大的数放到其右边,比其小的数放到其左边,然后再递归排以这个数为中心的左半区间和右半区间。
一定要随机化选择切分元素(pivot),否则在输入数组是有序数组或者是逆序数组的时候,快速排序会变得非常慢。
Update your browser to view this website correctly.&npsb;Update my browser now