算法
文章平均质量分 82
猫咪的晴天
人,不能没有理想
展开
-
递归和回溯题目四则
递归和回溯本文是对斯坦福大学公开课《抽象编程》第10课内容的总结。递归打印一个字符集合的全排列。 要解决这个问题,可以先模拟一下全排列的过程。假设字符集是“ABCD”:首先,从“ABCD”中任选一个字符作为排列结果的第一个字符,例如,我们可以先选择“A”作为第一个字符;一旦第一个字符确定下来,可以对所有剩下的字符进行全排列,并把得到的排列结果附加在刚才选定的第一个字符“A”之后,就原创 2016-05-05 22:54:37 · 1016 阅读 · 0 评论 -
分治法在归并排序和快速排序中的应用
归并排序归并排序和快速排序都使用了“分治”策略(divide-and-conquer)。对于数组A[p..r],归并排序先把数组从中间分开,形成两个具有(p+r)/2个元素的子数组(divide);然后,分别对这两个子数组递归地进行归并排序(conquer),当子数组只包含一个元素时到达递归出口;最后,将两个排好序的子数组合并起来,形成有序数组(combine)。 归并排序算法如下:ME原创 2016-05-22 23:15:13 · 2183 阅读 · 0 评论