递归与分治策略 二分搜索技术 我们所熟知的二分搜索算法是运用分治策略的典型例子,针对这个算法,先给出一个简单的案例。 目的:给定已排好序的n个元素a[0:n-1],现要在这n个元素中找出一特定的元素x。 我们首先想到的最简单的是用顺序搜索方法,逐个比较a[0:n-1]中元素,直至找出元素x或搜索遍整 ...
分类:
编程语言 时间:
2018-12-22 01:29:39
阅读次数:
215
由于作者不习惯该编辑器,只是贴出上本文的截图,详见:https://www.yuque.com/docs/share/5d4a23cb-263c-41c1-9e4e-183904dfd167
分类:
编程语言 时间:
2018-12-03 20:02:29
阅读次数:
198
选择问题(Selection Problem),即在n个元素的集合中寻找第K小的元素的问题。第K小的元素又叫第K个顺序统计量。有以下几种变体: - 找最大值和最小值;同时找最大和最小值 - 找中位数(第n/2小) - 找任意第K小的元素 - 找Top-K的元素 ...
分类:
其他好文 时间:
2018-11-28 01:08:16
阅读次数:
232
问题:设有n=2^k个选手参加循环赛,要求设计一个满足以下要求比赛日程表: 1)每个选手必须与其它n-1个选手各赛一次; 2)每个选手一天只能赛一次。 ...
分类:
其他好文 时间:
2018-11-27 16:58:45
阅读次数:
391
合并排序 合并排序也叫归并排序,它的主要思想是分治法,把待排序序列分为若干有序子序列,然后将两个或两个以上的有序子序列进行合并,得到一个新的完整的有序序列。所以首先得先对子序列进行排序,得到有序子序列,然后再使序列段之间有序。 排序要点 既然是分治法,那么就涉及到分和治。分,即递归地将序列分成小序列 ...
分类:
编程语言 时间:
2018-11-12 14:46:44
阅读次数:
164
HISAT2,StringTie,Ballgown处理转录组数据 本文总阅读量次2017-05-26 HISAT2,StringTie,Ballgown处理转录组数据思路如下: 数据质控 将RNA-seq的测序reads使用hisat2比对 samtools将sam文件转成bam,并且排序,为下游分 ...
分类:
其他好文 时间:
2018-11-09 22:03:36
阅读次数:
452
原理 归并排序(merge sort)采用经典的分治策略,将两个有序的数列合并成一个大的有序的序列,通过递归,层层合并。 流程 对于两个有序的序列合成一个有序的序列,比如 要将 【4,5,7,8】和【1,2,3,6】最终合成【1,2,3,4,5,6,7,8】 代码 复杂度 归并排序是稳定排序,它也是 ...
分类:
编程语言 时间:
2018-11-06 00:57:36
阅读次数:
219
题目大意:给定一棵 N 个节点的无根树,边有边权,统计树上边权和不大于 K 的路径数。 对于每条树上路径,对于每一个点来说,该路径只有经过该点和不经过该点两种情况,对于不经过该点的情况,可以转化成是否经过以该点为树根的子树节点的子问题,由此构成一个分治策略。 对于点分治来说,限制算法复杂度的瓶颈之一 ...
分类:
其他好文 时间:
2018-11-06 00:47:43
阅读次数:
140
定义 归并排序是一种递归算法,可以将列表连续分成两半。 如果列表为空或只有一个元素,则按定义(基本情况)已是排序列表。 如果列表有多个元素,我们拆分列表并在两半上递归调用合并排序。 一旦这两半部分排序完毕,就会执行称为合并的基本操作。 合并是获取两个较小的排序列表并将它们组合成一个排序的新列表的过程 ...
分类:
编程语言 时间:
2018-11-04 00:33:40
阅读次数:
222
LISTAGG( to_char(Item_Category_Name), ',') WITHIN GROUP(ORDER BY Item_Category_Name) -- 将 Item_Category_Name 列的内容以", "进行分割合并、排序; to_char(Item_Category ...
分类:
数据库 时间:
2018-11-02 00:09:24
阅读次数:
655