摘要:
贪心算法的产生背景是什么?它主要解决的是哪一类的问题?这些问题可以总结成一个固定的什么样的模型? 产生背景没了解过,但是我以前学建模的时候是这样理解的: 贪心算法是一种思路,而非固定的操作方法;贪心算法叫短视算法更贴切,因为它只考虑当前最佳的解决方法。至于它能解决哪类问题,我认为使用它并不一定能“解 阅读全文
摘要:
贪心算法的产生背景是什么?它主要解决的是哪一类的问题?这些问题可以总结成一个固定的什么样的模型? 产生背景没了解过,但是我以前学建模的时候是这样理解的: 贪心算法是一种思路,而非固定的操作方法;贪心算法叫短视算法更贴切,因为它只考虑当前最佳的解决方法。至于它能解决哪类问题,我认为使用它并不一定能“解 阅读全文
摘要:
每次做选择的时候都做出当下最好的选择,而不考虑将来的后果。并且期望最终得到的结果是全局最优的。 ——贪心算法 - Greedy Algorithm 什么时候该使用贪心算法 针对一组数据,定义了限制值。现在需要我们从中选出几个数据,在满足限制值的情况下,使期望值最大。 这个不难理解,比如知乎上这个很火 阅读全文
摘要:
前言 在上一篇文章动态规划的文章中,我们先由 Fibonacci 例子引入到了动态规划中,然后借助兑换零钱的例子,分析了动态规划最主要的三个性质,即: 重叠子问题 最优子结构 状态转移方程 但是动态规划远不止这么简单。 今天这篇文章,让我们深入动态规划,一窥动态规划的本质。 我们既然要彻底搞清楚动态 阅读全文
摘要:
前言 我们刷leetcode的时候,经常会遇到动态规划类型题目。动态规划问题非常非常经典,也很有技巧性,一般大厂都非常喜欢问。今天跟大家一起来学习动态规划的套路,文章如果有不正确的地方,欢迎大家指出哈,感谢感谢~ 什么是动态规划? 动态规划的核心思想 一个例子走进动态规划 动态规划的解题套路 lee 阅读全文
摘要:
一、动态规划三板斧 状态转移公式 循环 或 递归 性能优化 二、WHY 1、状态转移公式 动态规划与分治不一样,分治的问题是相互独立的,而动态规划的各个状态是有关联关系的。比如背包问题,你选择了 i 物品之后,背包的剩余容量要发生变化吧,对装别的物品就有影响了。 状态转移公式就是刻画这种关联的,一旦 阅读全文
摘要:
链接:https://www.zhihu.com/question/23995189/answer/1094101149 对于动态规划,春招秋招时好多题都会用到动态规划,一气之下,再 leetcode 连续刷了几十道题 之后,豁然开朗 ,感觉动态规划也不是很难,今天,我就来跟大家讲一讲,我是怎么做动 阅读全文
摘要:
链接:https://www.zhihu.com/question/23995189/answer/613096905来源:知乎 0. intro 很有意思的问题。以往见过许多教材,对动态规划(DP)的引入属于“奉天承运,皇帝诏曰”式:不给出一点引入,见面即拿出一大堆公式吓人;学生则死啃书本,然后突 阅读全文
摘要:
我们之前说了二叉树基础及二叉的几种遍历方式及练习题 本文大纲 前序遍历 前序遍历的顺序是, 对于树中的某节点,先遍历该节点,然后再遍历其左子树,最后遍历其右子树. 我们先来通过下面这个动画复习一下二叉树的前序遍历。 迭代 我们试想一下,之前我们借助队列帮我们实现二叉树的层序遍历, 那么可不可以,也借 阅读全文
摘要:
学算法的时候,递归确实是最绕的,这个东西怎么说呢,思路比较反自然思维.... 为啥说它反思维呢:自己调自己,而因为你在调用自己的时候只用了一个Fn-1,但事实上这个Fn-1代表了超级多个Fn-2Fn-3......,这是最让人思维感到难受的地方,但是用久了发现:真香 你只需要明白一个思想,就是面对一 阅读全文
摘要:
作者:老刘链接:https://www.zhihu.com/question/31412436/answer/724915708 一. 引子 大师 L. Peter Deutsch 说过:To Iterate is Human, to Recurse, Divine.中文译为:人理解迭代,神理解递归 阅读全文
|