《算法导论》读书笔记之第15章 动态规划—装配线调度 前言:动态规划的概念 动态规划(dynamic programming)是通过组合子问题的解而解决整个问题的。分治算法是指将问题划分为一些独立的子问题,递归的求解各个问题,然后合并子问题的解而得到原问题的解。例如归并排序,快速排序都是采用分治算法 ...
分类:
编程语言 时间:
2018-02-25 14:27:15
阅读次数:
264
摘要: 本章所讨论的问题是在一个由n个不同数值构成的集合中选择第i个顺序统计量问题。主要讲的内容是如何在线性时间内O(n)时间内在集合S中选择第i小的元素,最基本的是选择集合的最大值和最小值。一般情况下选择的元素是随机的,最大值和最小值是特殊情况,书中重点介绍了如何采用分治算法来实现选择第i小的元素 ...
分类:
其他好文 时间:
2018-02-23 16:03:13
阅读次数:
201
前言:动态规划的概念 动态规划(dynamic programming)是通过组合子问题的解而解决整个问题的。分治算法是指将问题划分为一些独立的子问题,递归的求解各个问题,然后合并子问题的解而得到原问题的解。例如归并排序,快速排序都是采用分治算法思想。本书在第二章介绍归并排序时,详细介绍了分治算法的 ...
分类:
其他好文 时间:
2018-02-23 15:53:49
阅读次数:
211
基本思想 分析归并排序之前。我们先来了解一下分治算法。 分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题。这些子问题相互独立且与原问题性质相同。求出子问题的解。就可得到原问题的解。 分治算法的一般步骤: (1)分解,将要解决的问题划分成若干规模较小的同类问题; (2)求解,当子问题 ...
分类:
编程语言 时间:
2018-02-17 19:56:26
阅读次数:
197
1.三维偏序问题 2.动态逆序对问题 3.离线查询与修改问题 ...
分类:
编程语言 时间:
2018-01-27 21:17:40
阅读次数:
194
Description 小Y最近在一家金券交易所工作。该金券交易所只发行交易两种金券:A纪念券(以下简称A券)和 B纪念券(以下简称B券)。每个持有金券的顾客都有一个自己的帐户。金券的数目可以是一个实数。每天随着市场的起伏波动,两种金券都有自己当时的价值,即每一单位金券当天可以兑换的人民币数目。我们 ...
分类:
其他好文 时间:
2018-01-21 13:50:22
阅读次数:
177
归并排序是一种分治算法。思想是把原数组切分成较小的数组,直到每个小数组只有一个位置,再将小数组归并成较大的数组,直到最后有一个完整有序的大数组。 js实现如下: 归并排序是一种稳定排序,无论最好情况和最坏情况时间复杂度为O(nlogn),空间复杂度为O(n)。 附:T(n)=2T(n/2)+cn; ...
分类:
编程语言 时间:
2018-01-15 00:21:19
阅读次数:
175
这道题好干燥啊。。。折腾了半个月。。。感谢bogo大佬对我的指导。。。题目要求支持的操作:1.查询某段路径的所有子路径的xor值之和;2.修改某条边的权值。重点是操作1。刚开始,我看到了操作1之后就不自觉的想到了非~常暴力的东西。。。还好大佬及时把我引上正途:分治! 大家知道,最大子段和有个分治算法 ...
分类:
其他好文 时间:
2018-01-08 13:26:51
阅读次数:
201
算法复习 包含主题: 贪心算法 , 分治法,动态规划,回溯法,分支限界,线性规划 关键词:最优子结构 Q:贪心与动态规划中间的联系和区别 p93 后面总结 (背部问题,0-1背包问题) 递归分治算法 基本思想:将一个大的问题分成若干小的子问题问题,分而治之 一般步骤:1.分解将原问题分为若干规模小, ...
分类:
编程语言 时间:
2017-12-18 18:57:36
阅读次数:
175
归并排序(分治思想的运用)原理:将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的,然后再把有序的子序列合并为整天有序序列。分治算法步骤:第一步:划分。将原问题划分为几个子问题第二步:递归求解。递归求解每个子问题第三步:合并。将求解后的子问题合并成原问... ...
分类:
编程语言 时间:
2017-12-14 19:17:51
阅读次数:
111