
算法
文章平均质量分 78
人生何事不浮云
世事如流水,人生似浮云
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【算法】回溯法解决排列、组合、子集问题套路总结
对于排列、组合、子集问题,我们可以根据题目的限制条件“元素是否重复”、“是否允许重复选择”,大致的将其分为三类:①元素无重不可复选,即集合中的元素都是唯一的,每个元素最多只能被使用一次;②元素可重不可复选,即集合中的元素可以存在重复,每个元素最多只能被使用一次;③元素无重可复选,即集合中的元素都是唯一的,每个元素可以被使用若干次;原创 2022-04-14 16:41:21 · 1219 阅读 · 0 评论 -
【算法】LFU缓存算法的实现
LFU 算法,即 least frequently used 最近最不常使用,和 LRU 相似,也是一种用于缓存的数据淘汰策略。当内存不足以容纳新的数据时,需要淘汰**最近最不频繁**使用的数据。原创 2022-04-10 22:44:06 · 1231 阅读 · 1 评论 -
【算法】LRU缓存算法的实现
LRU 算法,即 least recently used 最近最少使用,是一种用于缓存的数据淘汰策略。当内存不足以容纳新的数据时,需要淘汰最近最少使用的数据。原创 2022-04-10 21:34:03 · 1324 阅读 · 0 评论 -
【C 语言】基于分治法的二分搜索
基于分治法的快速排序分治法的设计思想是将一个难以直接解决的问题,通过分解,分割成一些相似的规模较小的问题,以便分而治之,逐个击破。分治法的使用情况:1、问题具有最优子结构性质2、问题所分解的各个子问题是相互独立的,即子问题之间不包含公共子问题注:其他具有最优子结构性质的算法:动态规划算法;贪心算法按一下步骤进行:...原创 2018-11-21 16:47:12 · 1418 阅读 · 0 评论 -
分支限界法与回溯法的横向比较
分支限界法与回溯法的相同点:都是在问题的解空间上搜索问题解的算法,都是一种既带有系统性又带有跳跃性的搜索算法不同点: 1、求解目标不同 2、搜索方式不同 3、对扩展节点的扩展方式不同 4、存储空间的要求不同回溯法的求解目标是找出解空间中满足约束条件的所有解,而分支限界法的求解目标则是找出解空间中满足约束条件的一个解(或是在满足约束条件的解中找出是某一目标函数值达到极大或极小的...原创 2018-11-21 21:42:54 · 9909 阅读 · 0 评论 -
分治法与动态规划的横向比较
分治法所能解决的问题一般具有的几个特征:(1)该问题的规模缩小到一定的程度就可以容易地解决(2)该问题可以分解为若干规模较小的相同问题,即该问题具有最优子结构性质(3)利用该问题分解出的子问题的解可以合并为该问题的解(4)原问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题动态规划法所能解决的问题一般具有的几个特征:(1)该问题可以分解为若干规模较小的相同问题,即该问...原创 2018-11-22 17:58:15 · 478 阅读 · 0 评论 -
【C 语言】用 C 语言解决括号问题
问题描述:给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。范例1:输入:{}输出:true范例2:输入:({)输出:false解题思路:我们可以将问题简化为一个简单一些的子问题:每当我们在表...原创 2019-04-26 18:50:47 · 2636 阅读 · 0 评论